웹 브라우저 요청 흐름 간단 정리

 

웹 브라우저 요청 흐름

(1) https://www.google.com/search?q=hello&hl=ko 검색

scheme://[userinfo@]host[:port][/path][?query][#fragment]
scheme userinfo host  port  path  query  fragment
https   www.google.com (https→443) /search q=hello&hl=ko  
https://www.google.com/search?q=hello&hl=ko 

 

(2) host를 DNS에 조회하여 IP 알아낸다

*DNS = 도메인 네임 시스템 ( 전화번호부 느낌 )

도메인 명을 IP주소로 변환 ( google.com → 200.200.200.2 )

 

(3) port는 https니까 443

 

(4) HTTP 요청 메시지 생성

GET /search?q=hello&hl=ko HTTP/1.1
Host: http://www.google.com

 

(5) SOCKET 라이브러리를 통해 TCP 3 way handshakeTCP/IP 연결 (클라이언트&서버 가상 연결)

 

(6) TCP/IP 패킷 생성

*출발지PORT, 목적지PORT, HTTP 메세지 등 ...으로 구성

 

(7) 데이터 전송

 

(8) 수많은 노드를 거쳐 ... 구글 서버에 도착

 

(9) 패킷을 벗겨 query parameter로 확인

 

(10) HTTP 응답 메시지 생성함

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 1234
<html><body>어쩌구</body></html>

 

(11) TCP/IP 패킷 생성

*출발지PORT, 목적지PORT, HTTP 메세지 등 ...으로 구성

 

(12) 웹 브라우저로 전송

 

(13) 결과 확인

<html><body>어쩌구</body></html>

 


참고 강의 : https://taylog.tistory.com/203

 

[강의리뷰] “모든 개발자를 위한 HTTP 웹 기본 지식” 후기 | 인프런

모든 개발자를 위한 HTTP 웹 기본 지식김영한님의 실무에 필요한 HTTP 핵심 기능에 대한 강의다. 강의의 총 길이는 5시간 40분, 강의 구성은 아래와 같다.인터넷 네트워크URI와 웹 브라우저 요청 흐

taylog.tistory.com

 

 

'🧠 저장 > Http' 카테고리의 다른 글

HTTP 상태코드 간단 정리  (0) 2024.02.20
HTTP API 설계 개념 간단 정리  (0) 2024.02.17
HTTP 메서드 종류, 속성 간단 정리  (0) 2024.02.14
HTTP 특징, 구조 간단 정리  (0) 2024.02.11
IP, TCP, UDP, URI 간단 정리  (0) 2024.02.05