웹 브라우저에 URL 입력 후 Enter를 눌렀을 때 일어나는 과정

ex. https://www.google.com

  1. 주소창에 URL을 입력하고 Enter를 누른다.

  2. 웹 브라우저DNS 캐시를 조회해 해당 도메인에 매핑되는 IP 주소를 찾는다.

    DNS 서버: 도메인 이름과 매칭이 되는 IP 주소의 데이터베이스를 모아둔 서버

    DNS 캐시: 최근 방문한 사이트의 도메인 정보와 IP 주소를 기록해둔 것

  3. 캐시에서 못 찾으면 DNS 서버에 해당 도메인에 매핑되는 IP 주소를 찾아달라고 요청한다.

  4. 웹 서버HTTP 요청을 보낸다.

    TCP 통신을 위해 클라이언트와 서버 간 소켓 연결

    3-way Handshake

    www.google.com 웹 페이지에 대한 HTTP 요청 메시지를 만들고 GET 요청을 보냄

    1. 웹 브라우저가 HTTP 메시지 생성

    2. SOCKET 라이브러리를 통해 전달

    TCP/IP 연결, 데이터 전달

    1. TCP/IP 패킷 생성, HTTP 메시지 포함

    Untitled

    1. 요청 패킷 전송
  5. 웹 서버요청을 처리하고 다시 HTTP 응답을 보낸다.

    요청이 도착하면 해당 요청을 검사해 서버로 보낼지 결정

    캐시 서버 → 웹 서버에서 요청을 처리

    Untitled

    HTTP 응답 메시지를 만들고 클라이언트에게 다시 전송

    (응답 메시지: HTTP 버전, 결과 코드, Content-Type 등)

  6. 웹 브라우저HTML 콘텐츠렌더링한다.

    응답 헤더의 Content-Type을 확인해 렌더링 방식을 결정

    HTML 구조 렌더링 → HTML Tag 확인(이미지, CSS, JS)

    이 중 정적 컨텐츠는 브라우저에 캐싱됨


참고