[Network] 브라우저에 "www.google.com" 을 치면 일어나는 일

[Network] 브라우저에

네트워크 공부 및 개발 공부를 하게 되면 필수 적으로 접하는 것이 있다.
바로 “000을 브라우저에 입력하면 일어나는일”

구글링을 하면 여러 정보들이 나오지만, 저의 블로그 특성상 이해 하기 쉽게 정리하겠습니다.
더 자세한 정보를 원하면 관련 정보를 검색하면 될것입니다.

브라우저에 “www.google.com” 을 입력하면 일어나는 일

  1. DNS(Domain Name Sever) 검색
    1. 브라우저는 cache → OS cache → Router cache → ISP cache 순으로
      URL에 대한 캐싱된(기억하고있는) DNS 주소가 있는지 찾는다.
    2. 기록이 있다면 바로 해당 주소에 맞는 IP를 전달하고 없다면, ISP(통신사)의 DNS 서버에서
      다른 DNS 서버의 DNS Query를 통해 검색하여 IP 주소를 찾는다.
  2. TCP connection을 한다.
    1. IP는 브라우저와 서버를 연결하기 위하여 TCP 연결을 한다.
    2. TCP 는 SYN,ACK 패킷을 통해 요청을 주고 받는다.
    3. 3-way Handshaking 이라는 프로세스를 통해 서버간 connection을 한다.
  3. 브라우저가 웹 서버에 HTTP 요청을 한다.
    1. TCP 연결이 되면 데이터 전송을 한다.
    2. 브라우저는 GET 요청을 통해 서버에게 “www.google.com” 웹페이지를 요구한다.
  4. 서버가 요청을 처리하고 response를 생성한다.
    1. 서버는 브라우저에서 요청을 읽고 response 을 생성한다.
    2. 요청된 내용을 가지고 서버의 정보를 업데이트 하거나 헤더를 읽는다.
    3. 특졍 형식에 맞게 (JSON, XML, HTML)을 응답한다.
  5. 서버가 브라우저로 HTTP Response를 보낸다.
    1. 서버의 Response에는 요청한 웹페이지, 상태코드, 쿠키, 개인정보 등이 포함되어 있다.
  6. 브라우저는 HTML content를 렌더링한다.
    1. 브라우저는 html content를 단계적으로 렌더링
    2. 해당 contents 들은 브라우저에 의해 캐싱되어 나중에 해당 페이지 재방문시
      서버에 재요청하지 않도록 한다.
    3. 결과적으로 화면에 ‘www.google.com’ 에 대한 페이지가 나온다.

© 2022.02 by sunnyfterrain