티스토리 뷰

브라우저를 열어 주소창에 www.naver.com을  을 입력한다.

 

  1. (www.naver.com)는 도메인 네임으로 되어있기 때문에 DNS에 도메인을 검색하기 위한 요청을 보낸다.
  2. DNS는 일련의 과정을 거친 후 (www.naver.com)에 대응하는 ip 주소를 응답으로 돌려준다.
  3. 받은 ip 주소를 사용하여 TCP 통신을 통해 해당 ip 서버에 요청을 보낸다.
  4. 요청을 받은 서버(www.naver.com)는 요청 내용에 대한 일련의 처리 과정을 거쳐 응답 메시지를 만든다.
  5. 응답메시지를 TCP 통신을 통해 다시 클라이언트에게 전송한다.
  6. 브라우저는 받은 응답메시지를 HTTP 프로토콜을 사용하여 웹페이지를 구성하며 사용자에게 Naver 화면을 보여준다. 

 


웹 동작 방식

  1. 유저가 브라우저에서 url을 입력하면 http request message를 생성한다.
  2. ip 주소를 알아야 전송을 할 수 있으므로, DNS lookup을 통해 해당 domain의 server IP주소를 알아낸다.
  3. 반환된 ip 주소로 http 요청 메시지 전송 요청을 한다.
    1. 생성된 http 요청 메시지를 tcp/ip 층에 전달한다.
    2. http 요청 메시지에 헤더를 추가해서 tcp/ip 패킷을 생성한다.
  4. 해당 패킷은 전기신호로 랜선을 통해 네트워크로 전송되고, 목적지 ip에 도달한다.
  5. 서버에 도착한 패킷은 unpacking을 통해 message를 복원하고 서버의 process로 보낸다.
  6. 서버의 process는 http 요청 메시지에 대한 response data를 가지고 http 응답 메시지를 생성한다.
  7. http 응답 메시지를 전달 받은 방식 그대로 client IP로 전송한다.
  8. http response 메시지에 담긴 데이터를 토대로 웹브라우저에서 html 렌더링을 하여 모니터에 검색창이 보여진다.