2. Header 조사

2023. 2. 16. 17:22스터디

TCP

1. TCP 헤더 조사
2. TCP 헤더의 Flag 조사
3. TCP와 UDP의 차이점
4. TCP 3Way Handshake, TCP 4way Handshake의 과정 및 차이점
5. URL과 URI의 차이점

 

 

1. TCP 헤더 조사

Sourse/Destination Port Number (각 16 비트)             
     - IP 주소 + 포트 번호 = 소켓 주소                      
       양쪽 호스트 내 종단 프로세스 식별


Sequence Number (32 비트)                             
     - 바이트 단위로 구분되어 순서화되는 번호임
       이를 통해, TCP에서는 신뢰성 및 흐름제어 기능 제공  

     - 순서 가능 범위
       시작 : 임의 값으로 시작하여, 최대값(4,294,967,295) 이후에는 `0`으로되어 시작함
       최대 : 32 비트이므로 최대 4기가 바이트(232) 크기의 송신 데이터에,
              순서화된 일련번호를 붙일 수 있음

     - 순서번호 의미
       TCP 세그먼트의 첫번째 바이트에 부여되는 번호 

     - 초기 순서번호 (ISN, Initial Sequence Number)          
       초기 TCP 연결설정을 위함
       난수 발생기로 초기 순서번호(ISN)를 생성하고, 이를 순서번호 필드에 넣어 보냄
           - 난수 발생기 : 매 4 ㎲ 마다 1씩 증가하는 12 비트 카운터에 의해 구현됨
       TCP는 양방향이므로 각 방향 마다 다른 ISN 번호가 사용됨 


Acknowledgement Number (확인응답 번호 / 승인 번호) (32 비트) 
     - 수신하기를 기대하는 다음 바이트 번호 = (마지막 수신 성공 순서번호 + 1)

헤더 길이 필드 (Header length, HLEN, 4 비트)
     - TCP 헤더 길이를, 4 바이트(32 비트) 단위로 표시
       TCP 헤더 길이는, 최소 4 x 5 = 20 바이트 부터 ~ 4 x (24 - 1) = 60 바이트 이하


6 개의 Flag bits (URG, ACK, PSH, RST, SYN, FIN)        
     - TCP 세그먼트 전달과 관련되어 TCP 회선 및 데이터 관리 제어 기능을 하는 플래그
       관계된 기능 : 흐름제어,연결설정,연결종료,연결리셋,데이터전송모드


윈도우 크기 (Window size, 16 비트)                     
     - 흐름제어를 위해 사용하는 16 비트 필드 (65,535 bytes까지 가능)
       TCP 흐름제어를 위해 송신자에게 자신의 수신 버퍼 여유용량 크기를 지속적으로 통보
           - TCP 연결은 양방향이므로, 매 TCP 세그먼트를 보낼시 마다, 
           - 이 필드에 자신의 수신 버퍼 용량 값을 채워 보내게 됨 (지속적인 현행화)
       결국, 양방향 각각의 수신측에 의해 능동적으로 흐름제어를 수행하게 됨


Checksum (16 비트)                           
     - 검사합


Urgent pointer (16 비트)
     - TCP 세그먼트에 포함된 긴급 데이터의 마지막 바이트에 대한 일련번호
       현재 일련번호(sequence number)로부터 긴급 데이터까지의  바이트 오프셋(offset)
       해당 세그먼트의 일련번호에 urgent point 값을 더해 긴급 데이터의 끝을 알수있음


옵션                                   
     - 최대 40 바이트까지 옵션 데이터 포함 가능
       TCP MSS 옵션을 협상하거나,  (MSS)
       주어진 윈도우 크기 보다 더 크게 사용하거나,  (Windowing)
       선택확인응답을 하거나,  (SACK)
       타임스탬프 옵션 정의  (Timestamp) 등

 


2. TCP 헤더의 Flag 조사

TCP 제어 플래그
   
   TCP 헤더는 6개의 Control Flag 필드들이 있음
     - 이들은 논리적인 TCP 연결회선 제어 및 데이터 관리를 위해 사용됨

CWR (Congestion Window Reduced)


ECE (ECN Echo)


URG (Urgent)
     - Urgent Pointer 필드에 값이 채워져있음을 알림
       송신측 상위 계층이 긴급 데이터라고 알려주면,
       긴급비트 URG를 1 로 설정하고,순서에 상관없이 먼저 송신됨
     - 긴급 데이터의 마지막 바이트 위치가 Urgent Pointer로 가리켜짐


ACK (Acknowledgement)
     - 확인응답 필드에 확인응답번호(Acknowledgement Number) 값이 셋팅됐음을 알림
       1로 셋팅되면, 확인번호 유효함을 뜻함
       0로 셋팅되면, 확인번호 미포함 (즉, 32 비트 크기의 확인응답번호 필드 무시됨)
     - SYN 세그먼트 전송 이후(TCP 연결 시작후) 모든 세그먼트에는 항상 이 비트가 1로 셋팅됨


PSH (Push)
     - 버퍼링된 데이타를 가능한한 빨리 상위 계층 응용프로그램에 즉시 전달할 것
       수신측은 버퍼가 찰 때까지 기다리지 않고, 수신 즉시 버퍼링된 데이터를 응용프로그램에 전달
     - 사용 例)
       Telnet 세션에서 `q` 입력 만으로 세션 종료를 알릴 때 등
       때론, 서버측에서 더이상 전송할 데이터가 없음을 나타내기도 함


RST (Reset)        [강제 연결 초기화 용도]
     - 연결확립(ESTABLISHED)된 회선에 강제 리셋 요청 
       강제 리셋 : RST=1          (RST 세그먼트 또는 RESET 세그먼트)
       연결 상의 문제를 발견한 장비가 RST 플래그를 `1`로 설정한 TCP 세그먼트를 송출
           LISTEN,SYN_RCVD 상태일때 => RST 수신한 경우에 => LISTEN 상태로 들어감
           그밖의 상태 일때 => RST 수신한 경우에 => 연결 끓고 CLOSED 상태로 들어감


SYN (Synchronize)  [연결시작,회선개설 용도]
     - TCP 연결설정 초기화를 위한 순서번호의 동기화 
       연결요청  : SYN=1, ACK=0   (SYN 세그먼트)
       연결허락  : SYN=1, ACK=1   (SYN+ACK 세그먼트)
       연결설정  : ACK=1          (ACK 세그먼트)


FIN (Finish)       [연결해제,회선종결 용도]
     - 송신기가 데이타 보내기를 끝마침                                                                                                
       종결요청 : FIN=1           (FIN 세그먼트)
       종결응답 : FIN=1, ACK=1    (FIN+ACK 세그먼트)

 

 

3. TCP와 UDP의 차이점

 

TCP

1. 신뢰적인 프로토콜
2. 연결 지향
3. 에러 체크(복구)
4. 순서제어 - Seq number
5. 상위 Application 계층 연결 - port number(내 pc 출발지 port 상대 목적지 port)
6. Windows Size(흐름 제어)

1. TCP (Transmission Control Protocol)

  TCP/IP 프로토콜 중 하나
     - OSI 계층모델의 관점에서 트랜스포트 계층 (4계층)에 해당

  양종단 호스트 내 프로세스 상호 간에 신뢰적인 연결지향성 서비스를 제공
     - IP의 비신뢰적인 최선형 서비스에다가, 신뢰적인 연결지향성 서비스를 추가 제공하게 됨
     - 이렇게, IP에 추가적으로 신뢰적인 전송을 보장함으로써, 어플리케이션 구현이 한층 쉬워지게 됨


주요 특징

  신뢰성 있음 (Reliable)
     - 패킷 손실, 중복, 순서바뀜 등이 없도록 보장
       TCP 하위계층인 IP 계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성을 제공

  연결지향적 (Connection-oriented)                                       
     - 같은 전송계층의 UDP가 비연결성(connectionless)인 것과는 달리, TCP는 연결지향적 임
       이 경우, 느슨한 연결(Loosly Connected)을 갖으므로,
       강한 연결을 의미하는 가상회선이라는 표현 보다는, 오히려 연결지향적이라고 말함

     - 연결 관리를 위한 연결설정 및 연결해제 필요         
       양단간 어플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신

  TCP 연결의 식별, 다중화, 포트번호
     - TCP 연결(회선)의 식별  :  소켓(양단 IP주소 및 포트번호 쌍)으로 회선을 식별 함
       2개의 IP 주소 및 2개의 포트 번호에 의한 4개가 하나의 연결(회선)을 식별함
     - 여러 응용 간 다중화 가능  :  단일 연결 뿐만아니라 다수 연결의 동시적 처리도 가능 
     - 응용과의 연결점 식별  :  TCP는 포트 번호에 의해 어플리케이션(응용)과의 연결점을 식별

  전이중 전송방식/양방향성 (Full-Duplex) 
     - 종단간 양 프로세스가 서로 동시에 세그먼트를 전달할 수 있음
       양방향 각각에 대해 `송수신 버퍼` 및 `데이터흐름용 순서번호` 유지

  멀티캐스트 불가능 : 단대단 전송 방식 (1:1) 즉, 유니캐스트성 임
     - 단일 송신자와 단일 수신자 간에 단일 경로 연결이 설정됨 
       한편, 차세대 전송계층 프로토콜로써, 

  상위 응용과는 바이트 스트림(Byte Stream)으로 주고받음
     - 논리적(의미를 갖는) 단위인 메세지 스트림이 아님
       각 데이터 간의 구분을 의미적으로 구분하지 않고,
       단순히 바이트들의 연속적인 흐름으로 보고, 이들을 묶어 세그먼트화하여 전송

     - 이는 상위 응용 개발자들이 흐름제어,회선관리,전송단위 등을 신경쓰지 않도록 함

  세그먼트화 처리             : 데이터를 패키징 처리
     - 바이트들을 모아서 세그먼트화하고 이에 TCP 헤더를 붙이고, 이들을 순서제어함
       TCP 세그먼트 : TCP에서 IP로 전달되는 정보 단위(통상, 수 백 바이트 정도)   
          양 끝단의 TCP 모듈간에 서로 교환되는 데이터 단위를 TCP 세그먼트라고 함

     - TCP 세그먼트의 (한 번에 보낼 수 있는) 최대 크기 

  흐름제어 (Flow Control)                                          
     - 송신(송신전송률) 및 수신(수신처리율)  속도를 일치시키는 것
       주로, '순서번호','확인응답번호','수신윈도우 크기'라는 3개 변수로 흐름제어

  혼잡제어 (Congestion Control)
     - 네트워크가 혼잡하다고 판단될 때 송신률을 감속함
       이에따른 여러 장치(기법)들을 다양한 TCP 버젼에서 마련하고 있음
           주요활용기능 : 느린 시작, 혼잡 회피, 수신 윈도우 및 혼잡 윈도우 크기결정 등

     - TCP는 혼잡제어를 위해 수신 윈도우(rwnd) 및 혼잡 윈도우(cwnd) 2개의 변수를 관리
       이 중 최소가되는 크기를 윈도우 크기로 잡게됨

  비 실시간적 응용
     - TCP는 데이터의 전달에 대한 보장을 하지만, 전달에 따른 지연에는 취약하므로
       실시간적 응용에는 통상 UDP 를 사용

  TCP 활용 
     - 상위 프로토콜 지원 : HTTP, FTP, SMTP 듬
     - 응용 지원 : TELNET, rlogin, 웹, 전자우편 등

 

UDP

1. 신뢰성 없는 프로토콜
2. 비연결 지향
3. 에러 체크기능은 있지만 체크만 하며, 사실은 에러제어 기능이 없는것이다,
4. 소량의 데이터 전송에 적합
5. 1:1 or 1:N의 통신

UDP (User Datagram Protocol)

  TCP/IP 프로토콜 群 중 트랜스포트 계층의 통신 프로토콜의 하나 (TCP에 대비됨)
     - 신뢰성이 낮은 프로토콜로써, 완전성을 보증하지 않으나,  
     - 가상회선을 굳이 확립할 필요가 없고, 유연하며 실시간적 응용의 데이타 전송에 적합
 

UDP 주요 기능 및 특징

  비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공 
     - (확인응답 없음)  메세지가 제대로 도착했는지 확인하지 않음
     - (순서제어 없음)  수신된 메세지의 순서를 맞추지 않음
       TCP 헤더와 달리 순서번호 필드 없음
     - (흐름제어 없음)  흐름 제어를 위한 피드백을 제공하지 않음
     - (오류제어 거의 없음)  검사합을 제외한 특별한 오류 검출 및 제어 없음
       UDP를 사용하는 프로그램 쪽에서 오류제어 기능을 스스로 갖추어야 함
     - (비연결성)  논리적인 가상회선 연결이 필요없음 (No Handshaking)
       데이터그램 지향의 전송계층용 프로토콜

  실시간 응용 및 멀티캐스팅 가능
     - (실시간용)  빠른 요청과 응답이 필요한 실시간 응용에 적합     
     - (1:다)  여러 다수 지점에 전송 가능 (즉, Multicasting 가능)
     - (무제한)  전송속도 제한 없음

  헤더가 단순함
     - 헤더는 고정크기의 8 바이트(TCP는 20 바이트) 만 사용
       즉, 헤더 처리에 많은 시간과 노력을 요하지 않음

  UDP 위에서 동작되는 다양한 프로토콜들 또는 응용분야
     - TFTP, SNMP, DHCP, NFS, DNS, RIP, NTP, RTP 등

  데이터 전송 단위  :  메세지
     - 한편, TCP의 데이터 전송 단위는 세그먼트라 함     

  최대 데이터 크기
     - 65,507 바이트 = 65,535 바이트 - UDP 헤더 8 바이트 - IP 헤더 20 바이트

 


4. TCP 3Way Handshake, TCP 4way Handshake의 과정 및 차이점

TCP 연결 3way handshaking

  TCP는 안정적이고 연결지향적인 트랜스포트 계층용 프로토콜로써, 
  연결 세션 설정을 위해 3단계의 핸드세이킹 과정을 밟음
TCP의 3-way Handshaking 흐름도

TCP의 3-way Handshaking의 각 단계

  세그먼트 1 (SYN 세그먼트)     : 연결 요청 (`초기 동기화 패킷` 라고도 불리움)
     - TCP 제어 플래그  : 클라이언트가 SYN 플래그 = 1로 설정
     - TCP 헤더 필드
       순서번호 = ISN (클라이언트측)
       (확인응답 번호,윈도우 크기 필드는 미정의됨)
     - "데이터 미 전송" 일때 "하나의 순서번호"를 소비합니다.
     - TCP 옵션         : MSS 포함시킴
     - TCP 상태 천이    : 클라이언트는 `SYN-SENT` TCP상태로 전이 

  세그먼트 2 (SYN+ACK 세그먼트) : 연결 허락
     - TCP 제어 플래그  : SYN 플래그 = 1 및 ACK 플래그 = 1로 설정 
     - TCP 헤더 필드    
       순서번호 = ISN (서버측), 
       확인응답 번호 = (수신된 순서번호 + 1)
          클라이언트로부터 수신을 기대하는 다음 순서번호를 확인응답/승인하며 전송
       (윈도우 크기 필드는 정의됨)
     - "데이터 미 전송" 일때 "하나의 순서번호"를 소비합니다.
     - TCP 옵션         : MSS 포함시킴
     - TCP 상태 천이    : 서버는 `LISTEN` → `SYN-RECEIVED` TCP상태로 전이
       이를 절반 개방(Half Open)이라고도 함

  세그먼트 3 (ACK 세그먼트)     : 연결 설정
     - 단순히 ACK 전송 만을 위함
     - TCP 제어 플래그 : 클라이언트가 ACK 플래그 = 1로 설정
        이때, 회선 설정이 이미 이뤄진 상태이므로 굳이 SYN 플래그를 설정 안해도 됨                       
     - TCP 헤더 필드
        승인번호 = (수신된 순서번호 + 1),
        확인응답 번호 : (SYN+ACK 세그먼트)의 확인응답 번호를 그대로 복사 사용
     - 일반적으로, 데이터 미 전송하며, 어떠한 순서번호도 소비하지 않음
     - TCP 옵션        : 통상, 이 세그먼트에서는 비어 있게 됨
     - TCP 상태 천이   : 양단 모두 `ESTABLISHED` TCP상태로 들어감 
        ('SYN-SENT' → 'ESTABLISHED' 및 'SYN-RECEIVED' → 'ESTABLISHED')

  ※ 여기서, 초기 순서번호(ISN) 이란?
     - 랜덤 수를 선택한 후 상대에게 전송 
       순서번호 초기화 직후 상대와의 순서번호 동기화 목적
     - TCP는 양방향이므로 각 방향 마다 다른 ISN 번호가 사용됨 


TCP의 3-way Handshaking의 주요 목적 둘

  연결이 시작됨과 옵션이 교환됐음을 알림
  ISN(랜덤한 초기 순서번호)를 생성하고 교환했음을 알림


TCP 연결과정에서 교환되는 주요 정보(유형) 셋

  ISN (초기 순서번호)
     - 연결된 두 장비 간에 각 방향 마다 초기 순서번호를 서로 교환함 
  수신 기본 윈도우 크기 (rwnd)
  옵션 정보           
     - MSS 옵션
     - 추가 윈도우 크기 스케일 옵션
     - SACK 옵션 허용
     - SACK 옵션 데이터 등
TCP 4way handshaking

TCP 연결종료

  TCP는 안정적이고 연결지향적인  트랜스포트 계층용 프로토콜로써,
     - 3단계 핸드세이킹 과정을 밟고 회선을 개설한 후, (ESTABLISHED)
     - 해당 세션에서 데이터 전송을 완료한 후, 
     - 보통, 4번(3번도 가능)의 패킷 교환으로 회선 연결을 정상적으로 끊게됨


TCP 연결종료 특징

  TCP 연결 종료는, TCP 연결 설정 보다는 복잡
     - 여러 종료 상황이 있을 수 있음
     - 한 방향 연결이 종료되어도, 다른 방향은 계속 오픈 상태일 수 있는 등

  정상 종료인 경우에, TCP 연결 종료는, 양방향 2개 연결을 각 측이 독립적으로 닫게 됨
     - 'FIN 및 그에대한 FIN-ACK'의 2 쌍(4개 세그먼트)으로써,
     - 4-way 핸드세이크로써 종료함


TCP 연결 종료 구분

  정상 종료 (Normal Close)
     - '4단계 핸드세이킹'에 의해 양방향 모두 종료되는 것
       실제로는 자주 있는 경우가 아니고 반 종료 등이 오히려 일상적임

  반 종료 (Half Close)
     - 양측이 동시에 회선 종료 않고, 한쪽 연결이 열린채로 놔두고 종료하는 것
       즉, 송신은 가능하지만 수신은 불가능 또는 수신은 가능하지만 송신은 불가능

  동시 종료 (Simultaneous Close)
     - 거의 동시에 양측에서 FIN 세그먼트를 보내는 경우

  강제 종료
     - TCP Reset 요구(RESET 세그먼트) 기능
TCP의 4-way Handshaking 흐름도

FIN 세그먼트      : (클라이언트측의 연결 종료 요청) (능동 종료 요청측에서 발송)
     - TCP 제어 플래그 : FIN 제어 비트 => '1'
     - 순서번호        : 'K' (연결된 상태에서 마지막 순서번호 보다 하나 높은 값 임)
     - 확인응답 번호   : '-'

ACK 세그먼트      : (연결 종료 요청에 대한 서버측의 응답)
     - TCP 제어 플래그 : FIN 제어 비트 => '1', ACK 제어 비트 => '1'
     - 순서번호        : 'L'
     - 확인응답 번호   : 'K+1' (이전 FIN 세그먼트의 순서번호 보다 하나 높은 값임)

FIN+ACK 세그먼트  : (서버측의 종료 알림)
     - TCP 제어 플래그 : FIN 제어 비트 => '1', ACK 제어 비트 => '1'
     - 순서번호        : 'L'
     - 확인응답 번호   : 'K+1'

ACK 세그먼트      : (클라이언트측의 최종 종료 알림)
     - TCP 제어 플래그 : ACK 제어 비트 => '1'
     - 순서번호        : 'K' 
     - 확인응답 번호   : 'L+1'

 

 

5. URL과 URI의 차이점

URL (Uniform Resource Locator)

  인터넷에 존재하는 자원의 위치와 그 접근방법을 지정하기위한 것
     - 주로, 특정 웹서버 내 경로상의 파일 등

  일반화된 표현으로 URI(Uniform Resource Identifier) 있으나,
     - 보통, URI 및 URL 을 거의 같은 뜻으로 혼용


URL 형식

  프로토콜://호스트명[:포트번호]/[경로][;인자][?질의문자]
     - 프로토콜(Protocol) : URI Scheme 이라고 하며, 접근 프로토콜을 지시함
        http, https, file, mailto, ftp 등 
     - 콜론(:) : 2개를 묶은 쌍(pair)에서 좌우 구분을 위한 구분자
     - 대쉬(//) : 어떤 시작을 알리는 것
     - 호스트명 또는 호스트이름(Host Name) www.ktword.co.kr 등
        호스트명 또는 FQDN 또는 IP주소
     - 포트 번호(Port Number) 80, 8080 등
        포트 번호가 생략되면, 프로토콜별 기본 포트번호(Well Known Port)를 사용함
     - 경로(Path) /test/ 등
     - 질의문자(Query) id=10&no=10 등
        검색 용어 등을 지정하는데 쓰임
     - 프래그먼트 or 태그(#) : 웹페이지 내 특정 링크의 앵커를 지정하는데 사용


표준 
     - RFC 1738 (RFC 4248, RFC 4266) : "Uniform Resource Locators (URL)"
     - RFC 1808 (RFC 2368, RFC 2396, RFC 3986) : "Relative URL"
 
URI (Uniform Resource Identifier)
  
  인터넷 서비스(웹 서비스 등)를 전제로 하여,
     - 인터넷 응용 정보자원(텍스트,비디오,음향,이미지,기타 서비스 등)에 대한,
     - 통일적 식별체계를 지칭하는 개념적 용어

  표준 : RFC 3986 : "Uniform Resource Identifier (URI): Generic Syntax"
     - (2732, 2396, 1808들의 대체)


URI 하위 종류

  URL (Uniform Resource Locator)  :  특정 자원이 있는 장소에 대한 경로(주소)
     - 인터넷 콘텐츠에 대한 프로토콜/서비스/접근방법/경로 등 자원의 위치를 나타냄
        . 지리적 위치에 무관하게 특정 호스트 내 자원의 위치를 지칭함

  URN (Uniform Resource Name)  :  특정 자원에 대한 이름 그 자체
     - 인터넷 도메인명과는 독립적으로 특정 콘텐츠에 대한 고유 식별(ID)
        특정 이름, 네임스페이스, 도서번호인 ISBN 등

  URC (Uniform Resource Charcteristic)  :  특정 자원에 대한 특성 정보
     - 특정 콘텐츠의 저자,제목 등의 특성 정보


URI 또는 URL 구문

  구문 => URI스킴://사용자이름:암호@호스트명:포트번호/경로?쿼리#URI프래그먼트
     - 참고적으로, 
        . '콜론(:)'은 2개를 묶은 쌍(pair)에서 좌우 구분을 위한 구분자 임
        . '대쉬(//)'는 어떤 시작을 알리는 것
        . 원칙적으로 URI 길이 제한 없으나, 구현상 2천자 등의 상한선은 있음

  URI Scheme (스킴)
     - 접근 프로토콜을 가리킴
        URI 표기에서, URI 시작부터 콜론(:) 직전까지의 표현
 
        HTTP   => http://www.ktword.co.kr
        HTTPS  => https://www.example.com
        FTP    => ftp://file.fileserver.com/entries/01
        이메일 => mailto:사용자이름@호스트명?Subject=Feedback
        SIP    => sip:사용자이름:암호@호스트명;uri-parameters 
        전화   => tel:1234;phone-context=servername.example.com

  호스트명(Hostname)
     - 인터넷 상에서 유일(唯一)한 식별
     - 여기서, 호스트명은, FQDN 또는 IP 주소 형태 모두 가능
     - 'www.ktword.co.kr', 'file.fileserver.com', '192.168.xxx.xxx' 등

  경로(path)
     - 위에서, 호스트명 직후에 있는 `/entries/01`


절대 URI, 상대 URI, 기준 URI

  절대(Absolute) URI : 모든 전체 경로를 다 기술한 URI 표현 (길이가 매우 클 수 있음)
  상대(Relative) URI : 전체 경로 중 기준 URI로부터 상대적 경로 표현
  기준(Base) URI     : 보통, HTML 문서 내 'Head 요소' 안에 'Base 요소'에 표시


URI 변화방향

  단순히, 정적인 자원의 위치나 식별을 나타내는 수준에서,  
     - 점차적으로, 동적 자원이나 서비스 결합 등을 고려하며 확대 중

  문자체계의 변화 : (국제화)
     - 문자체계가 과거 US - ASCII코드에서, 유니코드(Unicode)를 적용하는 국제화된 URI로 확장하며,
     - 국제화된 표준인 IRI(Internationalized Resource Identifier) 도모
     - (URI %인코딩 방식) `나` => UTF-8 인코딩 `%EB%82%98` (동양권 문자 3 바이트)

'스터디' 카테고리의 다른 글

3. 과제  (0) 2023.03.10
1. HTTP  (1) 2023.02.06