728x90
반응형
사용자가 www.google.com을 입력한다고 가정한다.
- 브라우저는 HTTP 프로토콜을 사용해 구글 웹 서버와 통신하려고 한다.
- HTTP는 OSI 7계층 중 애플리케이션 계층에서 동작하는 프로토콜
- 이때 브라우저는 요청한 도메인 이름(www.google.com)에 대한 IP 주소를 알아야 하기 때문에 DNS(Domain Name System) 서버에 질의한다.
- 이 질의 과정 또한 애플리케이션 계층에서 이루어지며, DNS 서버는 해당 도메인에 대한 IP 주소(예를 들어, 142.250.190.78)를 응답한다.
- IP 주소를 얻은 후, 브라우저는 구글 서버와 통신을 시작한다. HTTP는 TCP/IP를 기반으로 작동하므로, 데이터를 주고받기 전에 TCP 3-Way Handshake 과정이 필요하다.
- 이 단계는 전송 계층(4계층) 에서 이루어진다.
- TCP 연결이 성립된 후, 브라우저는 HTTP Request 메시지를 생성하여 구글 서버에 보낸다.
- 예를 들어, 브라우저는 “GET / HTTP/1.1”이라는 요청을 TCP 프로토콜을 통해 80번 포트로 전송한다. 이때 데이터는 패킷(Packet) 형태로 네트워크를 통해 전달된다.
- 네트워크를 통해 데이터를 전송하기 위해서는 네트워크 계층(3계층) 에서 IP 주소를 사용하고, 데이터 링크 계층(2계층) 에서 MAC 주소를 사용하여 패킷이 전송된다.
- 구글 서버는 클라이언트의 요청을 수신하고 이를 처리한 후, HTTP Response 메시지를 생성하여 응답한다. 그리고 서버는 요청이 성공했음을 알리는 200 OK 상태 코드와 함께 웹 페이지 데이터를 전송한다.
- 브라우저는 이 응답을 받아 HTML, CSS, 자바스크립트 등의 데이터를 해석하여 화면에 페이지를 렌더링한다.
- 모든 데이터 전송이 완료되면 클라이언트와 서버는 4-Way Handshake 과정을 거쳐 TCP 연결을 종료한다.
키워드 정리
- HTTP 프로토콜 통신
- DNS 를 통해 도메인 이름으로 IP 주소 찾기
- TCP 3-Way Handshake (전송 계층(4계층))
- HTTP Request 전송
- HTTP Response 전송
- 4-Way Handshake -> TCP 연결 종료
728x90
반응형
'Back-End' 카테고리의 다른 글
HTTP 메서드 멱등성 (0) | 2025.04.01 |
---|---|
스레드, 프로세스, 코어 수 증가에 따른 성능 (0) | 2025.03.25 |
단위 테스트와 통합 테스트의 차이 (0) | 2025.03.24 |
TCP 3-way handshake (0) | 2025.03.19 |
동기 방식으로 외부 서비스 호출 시 장애 조치 방안 (0) | 2025.03.18 |
댓글