CS 지식/네트워크

브라우저에 URL을 입력했을 때의 과정

naksnaks 2023. 3. 9.
반응형

큰 흐름

1. 브라우저의 검색창에 "www.google.com"을 입력

2. 브라우저는 캐싱된 DNS 기록 체크

3. ISP의 DNS 서버에서 다른 DNS 서버를 DNS Query를 통해 검색하여 IP 주소 찾기

4. 브라우저가 서버와 TCP connection 수행

5. 브라우저가 웹서버에 HTTP 요청

6. 서버가 요청 처리, response 생성

7. 서버가 HTTP Response 보냄

8. 브라우저가 HTML content 보여주기

1. 브라우저의 검색창에 "www.google.com"을 입력

  • IP주소를 외우기 힘들기 때문에 DNS(Domain Name System)를 이용하여 Domain으로 해당 IP에 접속할 수 있습니다.

2. 브라우저는 캐싱된 DNS 기록 체크

  • 4개의 캐시를 확인합니다.
    • Browser캐시
    • OS캐시(systemcall)
    • router 캐시
    • ISP 캐시
  • 캐시 : 네트워크 트래픽 조절과 데이터 전송 시간 ↓

    Browser 캐시

  • 브라우저는 특정 기간동안 유저가 방문한 웹 사이트의 DNS 기록을 보관하는 특징이 있습니다.

OS캐시

  • Broswer 캐시에 DNS 기록이 없다면, 브라우저는 OS에 시스템 콜(system call)을 생성해 DNS 기록을 조회합니다.

Router 캐시

  • 브라우저와 OS 등 유저의 컴퓨터에 기록이 없다면, 브라우저는 자체 DNS 캐시를 유지/관리하는 라우터와 통신합니다.

ISP 캐시

  • 유저의 ISP는 DNS 레코드의 캐시를 포함하는 자체 DNS 서버를 유지/관리합니다.

3. ISP의 DNS 서버에서 다른 DNS 서버를 DNS Query를 통해 검색하여 IP 주소 찾기

  • ISP(Internet Service Provider)는 인터넷 서비스 공급자의 약자이다. (ex SK, LG, KT)
  • 캐시에 요청한 URL의 IP 정보가 없으면 ISP는 DNS 서버들을 검색해 해당 도메인의 IP 주소를 검색합니다.
  • 해당 검색 기법을 recursive search라 부르며, 재귀 방법을 이용하여 IP 주소를 찾을 때까지, DNS 서버 사이를 오가며 검색을 합니다.

4. 브라우저가 서버와 TCP connection 수행

  • IP 주소를 얻게 되면 서버와 HTTP connection(주로 TCP 방식)을 통해 연결을 합니다.
  • TCP/IP 3-way handshake 프로세스를 통해 클라이언트와 서버간 connection을 수행합니다.

5. 브라우저가 웹서버에 HTTP 요청

  • TCP 연결 후 데이터를 전송합니다.
  • GET 요청을 통해 서버에 'www.google.com' 웹페이지를 요구합니다.
  • 개발자 도구의 network에서 부가적인 정보들을 확인할 수 있습니다.

6. 서버가 요청 처리, response 생성

  • 서버가 가지고 있는 웹서버에서 브라우저로부터 보낸 요청을 읽고 response를 생성합니다.
  • response를 특정 format(JSON, XML, HTML 등) 으로 작성합니다.

7. 서버가 HTTP Response 보냄

  • 서버의 response에 요청한 웹페이지, 상태코드, 쿠키, 개인정보 등이 포함됩니다.

8. 브라우저가 HTML content 보여주기

  • 브라우저는 HTML content를 단계적으로 렌더링하여 노출합니다.
  • 해당 contents 들은 브라우저에 의해 캐싱되어 나중에 재방문시 서버에 재요청하지 않습니다.
  • "www.google.com" 웹 페이지가 노출됩니다.

참조
배움을 기록으로님 - 브라우저에 www.google.com을 치면 일어나는 일
ggC0RN님 - 웹 캐시란 무엇인가?
kaitlin_k님 - 브라우저에 URL을 입력하면?
IT-Made-Easy님 - What happens when you type a URL in browser | TOP NETWORKING & CCNA INTERVIEW QUESTION | EXPLAINED

반응형

'CS 지식 > 네트워크' 카테고리의 다른 글

URL이란?  (0) 2023.03.09
HTTP 버전  (0) 2023.03.06
HTTP 구조  (0) 2023.03.06
HTTP와 HTTPS란?  (0) 2023.03.02
TCP와 UDP  (0) 2023.02.27

댓글

💲 추천 글