사용자 > www.google.com을 을 입력
애플리케이션 계층
브라우저(클라이언트) > HTTP프로토콜을 사용해 구글 웹 서버와 통신 시도
이때 브라우저는 요청한 도메인 이름(www.google.com)에 대한 IP주소를 알아야 하기 때문레 DNS서버에 질의
DNS서버는 해당 도메인에 대한 IP주소를 응답.
전송 계층(4)
IP주소를 얻은 후, 브라우저는 구글 서버와 통신을 시작.
HTTP는 TCP/IP를 기반으로 동작하므로, TCP 3-Way Handshake과정이 필요
TCP연결이 성립된 후, 브라우저는 HTTP Request메시지를 생성하여 구글 서버에 보냄.
ex. 브라우저 "GET/HTTP/1.1" 이라는 요청을 TCP프로토콜을 통해 80번 포트에 전달.
이때 데이터는 패킷 형태로 네트워크를통해 전달.
네트워크를 통해 데이터를 전송하기 위해서는 네트워크계층(3)에서 IP주소를 사용하고,
데이터 링크 계층(2)에서 MAC주소를 사용하여 패킷이 전송
----
구글 서버는 클라이언트의 요청을 수신하고 처리한 후, HTTP Response 메시지를 생성하여 응답
서버는 요청이 성공했을음 알리는 200 OK 상태 코드와 함께 웹 페이지 데이터를 전송.
브라우저는 응답을 받아 HTML, CSS, 자바스크립트 등의 데이터를 해석하여 화면에 페이지를 렌더링
----
모든 데이터 전송이 완료되면
클라이언트와 서버는 4-Way Handshake과정을 거쳐 TCP연결을 종료
'cs(with 매일메일)' 카테고리의 다른 글
| [251002목] @Component, @Controller, @Service, @Repository의 차이점에 대해서 설명해주세요 (0) | 2025.10.14 |
|---|---|
| [251001수] 동일성과 동등성에 대해서 설명해주세요 (0) | 2025.10.14 |
| [251013월] 데이터베이스 커넥션 풀(Connection Pool)을 사용하지 않으면 어떤 문제가 발생할 수 있나요? (0) | 2025.10.13 |
| [250918목] JPA의 N+1문제에 대해서 설명해주세요. (0) | 2025.09.30 |
| [250919금] 자바에서 Checked Exception와 Unchecked Exception에 대해서 설명해주세요. (0) | 2025.09.30 |