해당 포스트는 <김영한>님의 인프런 강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 토대로 공부한 내용을 정리하였습니다.
(!) 강의 자료에서 캡쳐한 이미지는 출처를 기재하였습니다.
1. DNS 서버 조회
![](https://velog.velcdn.com/images/god1hyuk/post/30cf386c-f323-44d3-b2e7-13382537aa20/image.png)
2. 클라이언트에서 요청 패킷 생성
![](https://velog.velcdn.com/images/god1hyuk/post/bdcd4f71-0723-4812-b14b-6080086076f7/image.png)
2-1. 웹 브라우저가 HTTP 요청 메시지 생성
- HTTP 요청 메시지
![](https://velog.velcdn.com/images/god1hyuk/post/6b89c7a1-1cd4-48ba-9eae-f25905e87a71/image.png)
2-2. SOCKET 라이브러리를 통해 전달
- TCP/IP 연결(IP, PORT)
- TCP/IP로 전송할 데이터(HTTP 메시지) 전달
2-3. TCP/IP 패킷(Packet) 생성 및 HTTP 요청 메시지 포함
![](https://velog.velcdn.com/images/god1hyuk/post/e44606b0-c495-42a4-bc69-1b5df61f7cbb/image.jpeg)
3. 클라이언트 → 서버 요청 패킷(Packet) 전송
![](https://velog.velcdn.com/images/god1hyuk/post/23e76b16-707d-4b1e-918a-3614bc00d1e5/image.png)
![](https://velog.velcdn.com/images/god1hyuk/post/09c235e6-5bc6-4adb-beb9-7e9764b7e5e6/image.png)
4. 서버에서 HTTP 응답 메시지 생성 및 응답 패킷 생성 후 HTTP 응답 메시지 포함
-
HTTP 응답 메시지
![](https://velog.velcdn.com/images/god1hyuk/post/f9b6d6f8-6f6a-4f1c-86b4-420364c857c8/image.png)
5. 서버 → 클라이언트 HTTP 응답 패킷(Packet) 전송
![](https://velog.velcdn.com/images/god1hyuk/post/610c7fae-7d34-43e4-8907-a62c94e87f98/image.png)
![](https://velog.velcdn.com/images/god1hyuk/post/ceca0504-7218-450e-8ad0-24a715f7531e/image.png)
6. 서버로부터 응답 받은 데이터를 웹 브라우저에 렌더
![](https://velog.velcdn.com/images/god1hyuk/post/d0e6c340-d985-4029-906c-f17de27e6305/image.png)
이미지 출처 : <김영한>님의 인프런 강의 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의 자료
(!) 이번 포스트의 모든 이미지는 강의 자료를 참조하였습니다.