본문 바로가기

Spring/HTTP 강의

[HTTP] URI와 웹 브라우저 요청 흐름

URI (Uniform Resource Identifier)

"URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다."

URI 단어 뜻

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

URL, URN 단어 뜻

  • URL - Locator : 리소스가 있는 위치를 지정
  • URN - Name : 리소스에 이름을 부여
  • 위치는 변할 수 있지만, 이름은 변하지 않는다.
  • URN의 예시로 어떤 책의 isbn이 있다.
  • URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았다.
  • URI가 URL과 URN을 포함하고 있기 때문에 URI를 URL로 말해도 무방하다.

URL 문법

  • 프로토콜 : https
  • 호스트명 : www.google.com
  • 포트번호 : 443
  • path : /search
  • 쿼리 파라미터 : q=hello&hl=ko

 

웹 브라우저 요청 흐름

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

해당 주소로 요청을 보냈을 때, 웹브라우저는 DNS를 조회한다. IP : 200.200.200.2

HTTPS는 PORT를 생략하기 때문에 443 포트라고 생각하면 된다.

그리고 HTTP 요청 메시지를 생성한다.

HTTP 메시지를 전송하는 과정은 아래와 같다.

축약해서 말하자면, 서버로 전송되는 패킷은 출발지 IP, PORT + 목적지 IP, PORT + 전송 데이터 ... 를 포함하고 있다.

여기서 전송 데이터는 웹 브라우저가 만든 HTTP 요청 메시지다!

 

웹 브라우저가 보낸 패킷을 서버가 받아서 HTTP 메시지를 확인한다. 그리고 요청에 대한 HTTP 응답 메시지를 만든다.

HTTP 버전, 데이터 형식, 언어, HTML 데이터의 길이, HTML 코드를 응답 메시지로 보낸다.

 

웹 브라우저는 서버가 보낸 HTML 데이터를 렌더링해서 결과를 보여주게 된다.

 

 

* 인프런 모든 개발자를 위한 HTTP 웹 기본 지식(김영한) 강의를 듣고 정리한 내용입니다.

 

'Spring > HTTP 강의' 카테고리의 다른 글

[HTTP] 인터넷 네트워크  (0) 2021.10.11