alt
Home 웹 통신의 큰 흐름 - www.google.com을 치면 일어나는 일
Post
Cancel

웹 통신의 큰 흐름 - www.google.com을 치면 일어나는 일


브라우저

  1. DNS Lookup: 사용자가 브라우저에 도메인네임 입력하면 DNS 서버에서 IP주소를 얻기 위해 DNS lookup을 수행한다.
    • 프로토콜 스택의 가장 윗층 7 layer인 Application Layer에 해당한다.
    • 크롬에서는 브라우저 -> hosts 파일(파일 시스템) -> DNS cache 순으로 찾는다.
    • 루트 도메인서버에서부터 서브 도메인서버 순으로 IP를 찾는다.
  2. IP주소를 이용해 HTTP request message를 만들어 OS에 전송 요청한다.


프로토콜 스택(OS에 내장된 네트워크 제어용 SW)

: OSI 계층(or TCP 계층)을 내려가면서 패킷 등 붙이는 것

  1. 브라우저로 부터 받은 메시지를 패킷속에 저장하고, 이 패킷을 LAN 어댑터에 넘김
  2. LAN 어댑터는 이걸 전기신호로 변환시켜 송출한다.


네트워크

: 패킷은 스위칭 허브 -> 인터넷 접속용 라우터 -> 통신사 인터넷 순으로 전달된다.


방화벽(목적지 앞 단)

: 인터넷 핵심부를 통과해 웹 서버 측 LAN에 도착하고, 방화벽에서 패킷 검사

  • 이후, 캐시서버에서 얻을 수 있는거면 캐시서버에, 아니면 웹 서버로 가게 된다.


웹 서버

  1. 웹 서버의 프로토콜 스택(OS의 네트워크 제어용 sw)은 패킷 추출, 메시지 복원해 웹 어플리케이션에
  2. 요청받은 데이터를 응답 메시지에 넣어 클라이언트에 회송.(왔던 과정 그대로)



Reference)

HTTP 완벽 가이드

https://github.com/WooVictory/Ready-For-Tech-Interview/blob/master/Network/%EC%A3%BC%EC%86%8C%EC%B0%BD%EC%97%90%20naver.com%EC%9D%84%20%EC%B9%98%EB%A9%B4%20%EC%9D%BC%EC%96%B4%EB%82%98%EB%8A%94%20%EC%9D%BC.md

https://github.com/ksundong/backend-interview-question

https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network

This post is licensed under CC BY 4.0 by the author.