본문 바로가기
CS/Network

웹 브라우저에 URL을 입력한다면?

by dvid 2023. 3. 12.

웹 브라우저에 URL을 입력한다면

  1. 사용자가 입력한 URL을 파싱한다.
    • 입력한 URL에서 프로토콜, 호스트명, 포트번호, 경로, 쿼리 스트링 등을 파싱한다.
  2. DNS를 조회한다.
    • 호스트명을 IP 주소로 변환하기 위해 DNS 서버에 호스트명을 조회한다.
    • DNS는 복잡하고 빨라야 하기 때문에 DNS 데이터는 웹 브라우저 사이의 서로 다른 계층과 인터넷의 다양한 위치에 임시로 캐시를 저장한다.
    • 웹 브라우저는 고유한 캐시, 운영체제 캐시, 라우터의 로컬 네트워크 캐시, 회사 네트워크 또는 인터넷 서비스 제공업체(ISP)의 DNS 서버 캐시를 확인한다.
    • 만약 웹 브라우저 캐시 계층에서 IP 주소를 찾을 수 없는 경우 회사 네트워크 또는 ISP의 DNS 서버가 재귀적으로 DNS 조회를 수행한다.
  3. 웹 브라우저가 서버와 TCP 연결을 수립한다.
    • 웹 서버와 연결하기 위해 TCP/IP 3-way-handshake 과정을 거쳐 TCP 연결을 수립한다.
    • 웹 서버에 직접 도달하는 방법은 위치에 따라 효율적이지 않을 수 있기 때문에 요즘은 CDN을 사용하여 정적 · 동적 콘텐츠를 웹 브라우저 가까이에 위치시킨다.
  4. 서버로 HTTP 요청을 생성하고 전송한다.
    • HTTP 요청 메시지를 생성하고, HTTP 메서드와 헤더 정보를 포함한다.
    • 생성된 HTTP 요청 메세지를 서버로 전송한다.
  5. 서버에서 HTTP 응답을 받는다.
    • 서버에서 요청을 처리하고, HTTP 응답 메시지를 생성한다.
  6. 브라우저에서 HTTP 응답을 처리한다.
    • 받은 HTTP 응답 메시지를 처리하여 웹 페이지를 렌더링한다.
    • HTML, CSS, Javascript 등의 리소스를 다운로드하고 렌더링한다.
  7. 연결을 종료한다.

참고

'CS > Network' 카테고리의 다른 글

DNS  (0) 2023.03.12
SSL / TLS  (0) 2023.03.11

댓글