웹 브라우저에 URL 입력 후 서버까지의 흐름

김성민·2023년 7월 31일
0

항상 무엇인가 어떻게 동작되는지 이해를 해야 분석하기 편하기 때문에 찾아서 정리한 내용입니다.

우리가 어떤 사이트에 접속 하고, 접속 요청한 URL 은 서버의 API 를 호출하기 까지 어떠한 과정을 거치는가?

  1. URL 을 입력한다
  2. 웹 브라우저가 URL 을 해석한다.
  3. HSTS (*HTTP Strict Transport Security)목록을 로드해서 확인한다.
  4. HSTS 목록에 있으면 첫 요청을 HTTPS로 보내고, 아닌경우 HTTP로 보낸다.
  5. DNS(Domain Name Server) 조회한다.
  • DNS에 요청을 보내기 전에 먼저 Browser에 해당 Domain이 cache돼 있는지 확인한다. (Chrome의 경우 chrome://net-internals/#dns 에서 확인 가능)
  • 없을 경우 로컬에 저장돼 있는 hosts파일에서 참조할 수 있는 Domain이 있는지 확인한다.
  • 위 두 경우가 모두 실패 했을 경우 Network stack에 구성돼 있는 DNS로 요청을 보낸다. (DNS는 일반적으로 Local router, ISP의 캐싱 DNS)
  1. ARP(Address Resolution Protocol)로 대상의 IP와 MAC address를 알아낸다.
  2. 대상과 TCP 통신을 통해 Socket을 연다.
  3. HTTP 프로토콜로 요청한다.
  4. HTTP 서버가 응답한다.
    • HTTP Strict Transport Security란?
      HTTP 대신 HTTPS만을 사용하여 통신해야 한다고 웹 사이트가 웹 브라우저에 알리는 보안기능

0개의 댓글