CS

2. URI & Web browser

wooweee 2023. 4. 16. 10:41
728x90

 

1. URI

URI는 locator와 name 로 분류될 수 있다.

 

  • URI: Uniform(리소스 식별하는 통일된 방식)  Resource(자원, URI로 식별할 수 있는 모든 것(제한 없음))  Identifier(다른 항목과 구분하는데 필요한 정보)

  • URL: Uniform Resource Locator - Locator: 리소스가 있는 위치를 지정
     
  • URN: Uniform Resource Name   - Name: 리소스에 이름을 부여 
  • URN은 보편화 되지 않았고 URL과 URI는 거의 동일한 의미로 사용된다.

 

 

2. URL 문법

 

scheme:// [userinfo@] host [:port] [/path] [?query] [#fragment]

프로토콜:// 호스트명@ :포트번호 /패스 ?쿼리 #파라미터

https://www.google.com:443/search?q=hello&hl=ko

 

  1. scheme
    • scheme: == https:
    • 주로 애플리케이션 계층 프로토콜 사용 - http, https, ftp
    • *프로토콜: 어떤 방식으로 자원에 접근할 것인가 하는 규칙

  2. userinfo 
    • URL에 사용자정보 포함해서 인증 - 거의 사용 안함

  3. host
    • host == www.google.com
    • 도메인명 또는 IP주소를 직접 사용가능

  4. PORT
    • [:port] == :443
    • 접속 포트(TCP 포켓에 필요), 일반적으로 생략함. 생략시 http 80 https 443

  5. PATH
    • [/path] == search
    • 리소스 경로, 계층적 구조
    • ex) • /home/file1.jpg • /members  • /members/100 • /items/iphone12

  6. query
    • [?query] == ?q=hello&hi=ko
    • key=value 형태
    • ?로 시작, &로 추가 가능
    • ?keyA=valueA & keyB=valueB
    • query parameter, query string 등으로 불림, 웹서버에 제공하는 파라미터, 문자 형태

  7. fragment  
    • html 내부 북마크 등에 사용, 서버에 전송하는 정보 아님

 

 

 

3. 요청

 

  • URI를 통해서 아래 정보 제공
    1. 나의 요청(query)를 어느 서버(IP)에 보낼지
    2. 그리고 보낼 요청의 데이터를 한번 가공할 프로토콜(scheme)도 정한다.
    3. 부가적으로 어느 포트(port)로 보낼지 
  • URI를 통해서 스타트 끊으면 먼저 scheme(여기선 http)가 요청 데이터 생성

http 요청 메세지

  • 요청 메세지에 TCP/IP 패킷을 감쌈 -  [출발지 IP,PORT] [목적지 IP,PORT] 메타 정보 추가

 

 

4. 응답

1. 패킷 다 벗기고 전송 데이터 확인

2. server에서 http 응답 메세지 만들어줌

http 응답 메세지

3. 응답 메세지에 TCP/IP 패킷을 감쌈 -  [출발지 IP,PORT] [목적지 IP,PORT] 메타 정보 추가

 

 

 

 

 

 

이전 포스팅: 1. 인터넷 네트워크

 

다음 포스팅: 3. HTTP

 

 


출처: Inflearn-모든 개발자를 위한 HTTP 웹 기본 지식