티스토리 뷰
CS/컴퓨터네트워크
만약 www.naver.com으로 브라우저에서 접근하여 화면이 본인에게 나오기까지의 과정을 네트워크 관점에서 설명해주세요.
개발기록 :) 2023. 7. 7. 20:44브라우저를 열어 주소창에 www.naver.com을 을 입력한다.
- (www.naver.com)는 도메인 네임으로 되어있기 때문에 DNS에 도메인을 검색하기 위한 요청을 보낸다.
- DNS는 일련의 과정을 거친 후 (www.naver.com)에 대응하는 ip 주소를 응답으로 돌려준다.
- 받은 ip 주소를 사용하여 TCP 통신을 통해 해당 ip 서버에 요청을 보낸다.
- 요청을 받은 서버(www.naver.com)는 요청 내용에 대한 일련의 처리 과정을 거쳐 응답 메시지를 만든다.
- 응답메시지를 TCP 통신을 통해 다시 클라이언트에게 전송한다.
- 브라우저는 받은 응답메시지를 HTTP 프로토콜을 사용하여 웹페이지를 구성하며 사용자에게 Naver 화면을 보여준다.
웹 동작 방식
- 유저가 브라우저에서 url을 입력하면 http request message를 생성한다.
- ip 주소를 알아야 전송을 할 수 있으므로, DNS lookup을 통해 해당 domain의 server IP주소를 알아낸다.
- 반환된 ip 주소로 http 요청 메시지 전송 요청을 한다.
- 생성된 http 요청 메시지를 tcp/ip 층에 전달한다.
- http 요청 메시지에 헤더를 추가해서 tcp/ip 패킷을 생성한다.
- 해당 패킷은 전기신호로 랜선을 통해 네트워크로 전송되고, 목적지 ip에 도달한다.
- 서버에 도착한 패킷은 unpacking을 통해 message를 복원하고 서버의 process로 보낸다.
- 서버의 process는 http 요청 메시지에 대한 response data를 가지고 http 응답 메시지를 생성한다.
- http 응답 메시지를 전달 받은 방식 그대로 client IP로 전송한다.
- http response 메시지에 담긴 데이터를 토대로 웹브라우저에서 html 렌더링을 하여 모니터에 검색창이 보여진다.
'CS > 컴퓨터네트워크' 카테고리의 다른 글
쿠키와 세션을 이용한 로그인 방식을 설명해주세요. (0) | 2023.07.07 |
---|---|
쿠키와 세션 (0) | 2023.07.07 |
HTTP에 대해 설명하고 추가로 HTTPS에 대해서도 말씀해주세요 (0) | 2023.07.07 |
3-way handshake는 무엇이고 각 과정은 어떻게 되나요? (0) | 2023.07.05 |
TCP와 UDP를 비교 설명해주세요 (0) | 2023.07.05 |