본문 바로가기

cs(with 매일메일)

[251014화] 사용자가 웹사이트에 처음 접근했을 때 발생하는 일련의 과정에 대해 설명해 주세요.

사용자 > 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연결을 종료