본문 바로가기
Computer Science/네트워크

[네트워크] URI와 웹브라우저 요청 흐름

by SIXXXX_ 2022. 3. 3.
728x90

URI와 웹브라우저 요청 흐름

 

1. URI(Uniform Resource Identifier)

URI / URL / URM 3가지 주로 헷갈려한다.

 

 

2. URI 와 URL 과 URM 의 비교

  • URI (Resource Identifier) : 리소스를 식별한다. locator, name 또는 둘다 추가로 분류가능
  • URL (Resource Locator) : 리소스가 있는 위치를 지정, 변할 수 있음 
  • URN (Resource Name) : 리소스에 이름부여(매핑하기 어려움), 변하지 않음

 

1-1. URI 단어 뜻

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

1-2. URI 표기법

 

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

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

 

  • scheme : 프로토콜정보 사용, 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙
    ex) http, https, ftp등
    http는 80포트, https는 443 포트 주로 사용, 포트는 생략가능
    https: http에 보안추가(HTTP Secure)

  • userinfo  : URL에 사용자정보를 포함해서 인증해야 할때 쓰는데 , 잘 안쓴다.
  • host정보 : 호스트명 (도메인명이나 ip주소를 직접 입력)

  • port  : 접속포트 일반적으로 생략한다(생략시, https : 44, http : 80)
  • /search(패스, 경로) : 계층적 구조 
    /home/file1.jpg
    /members
    /members/100, /items/iphone12
  • ?쿼리파라미터 : ?로 시작, &로 추가가능, key=value형태, query parameter, query string등으로 불린다. 웹서버에 제공하는 파라미터/문자형태
  • fragment : html 내부 북마크 등에 사용하고 서버에 전송하는 정보가 아니다.

웹브라우저 요청 흐름

① DNS 조회 - IP 찾음, PORT 정보 찾기

② 웹브라우저가 HTTP 요청 메세지(GET/search?쿼리스트링 HTTP/1.1  Host :www.google.com) 생성

③ SOCKET 라이브러리를 통해 전달
- A : TCP/IP로 연결(IP, PORT) 

- B : 데이터 전달

④ TCP/IP 패킷 생성, HTTP메세지 포함해서 요청패킷을 전달~~던져~~

요청패킷이 도착하면 서버에서 HTTP 메세지만 딱 까서, 데이터를 해석

⑥ HTTP 응답메세지를 만듬

(ex. HTTP1.1 200 OK

     Content-Type : text/html;charset=UTF-8

     Content-Length: 2298

<html>

</html>

)

⑦ 웹브라우저 HTML 렌더링