www.google.com을 주소창에 입력하면

초콜렛빵·2022년 6월 8일
0

TIL

목록 보기
15/27

주소창에 www.google.com을 입력하면?

1. 주소창에 www.google.com 입력


주소창에 www.google.com을 입력하고 enter를 누름

2. 브라우저에서 www.google.com의 IP 주소를 찾기위해 캐시의 DNS 기록 확인

  • DNS(Domain Name System)은 웹사이트의 IP주소와 도메인 주소를 연결해주는 시스템
  • 인터넷의 모든 URL에는 고유 IP주소가 할당되어 있음
  • IP주소는 웹사이트 서버를 호스트하는 컴퓨터에 속함
  • 여기서 www.google.com의 IP주소는 142.250.196.110
  • 즉, https://142.250.196.110을 입력해도 같은 결과를 가짐

    터미널에서 nslookup google.com을 통해 알수 있음

  • DNS의 역할은 사람들이 쉽게 주소를 찾도록 하는 역할
  • 브라우저에서 탐색하는 캐시
    1. 브라우저의 캐시 - 이전에 방문한 웹사이트의 DNS 기록을 일정 기간동안 저장
    2. OS의 캐시 - 내 컴퓨터 OS에 시스템 호출을 통해 기록 검색
    3. 라우터의 캐시 - 라우터에 저장된 기록 검색
    4. ISP의 캐시 - ISP(Internet Service Provider)는 DSN 서버를 가지고 있으며, 해당 서버에서 검색 가능

3. URL(www.google.com)의 캐시가 없는 경우, ISP 서버가 DNS 쿼리를 통해 호스팅 서버 IP주소 검색

  • 캐시에 정보가 없는 경우, 올바른 IP주소 탐색시까지 DNS 서버 검색 진행
  • 재귀적 질의(Recursive Query)를 통해서 계속해서 반복해서 검색
  • ISP의 DNS 서버를 DNS 리커서(Recursor)라고 부르며 다른 DNS 서버에 답변을 요청해 의도된 도메인 이름의 적절한 IP 주소 찾는 일 담당
  • 웹 사이트 URL은 3차 도메인, 2차 도메인 및 최상위 도메인(TLD: Top Level Domain)으로 이루어짐
  • 각 단계에서 DNS 룩업 (lookup) 도중에 쿼리되는 고유한 네임서버 존재
  • www.google.com을 찾을 때, 루트 네임 서버(Root Name Server)에 연결
  • 리커서를 .com 도메인 네임 서버로 리디렉션, 이후 google.com 네임 서버로 리디렉션 진행, 일치하는 IP주소 찾으면 DNS 리커서로 반환 후 리커서가 브라우저로 전달

4. 브라우저가 해당 서버와 TCP 연결 시작

  • IP주소와 일치하는 서버와 연결해 정보 전송
  • 인터넷 프로토콜(IP,Internet Protocol)을 사용해 연결 구축
  • 일반적으로 TCP(Transmission Control Protocol)이라는 전송 제어 프로토콜을 사용
  • TCP 연결 시 3-Way handshake를 이용

    출처: https://www.techopedia.com/definition/10339/three-way-handshake

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

  • 웹페이지를 요청하는 GET 요청을 보냄
  • Header에 여러가지 값들이 포함되어 있으며 이를 통해 GET요청을 진행

6. 서버가 요청을 처리

  • 서버에 있는 웹 서버가 요청을 수신하고, 해당 내용을 Request handler에 전달하여 응답을 읽고 생성하는 역할
  • Request handler는 요청, 요청의 헤더 및 쿠키를 읽고 필요한 경우 서버의 정보를 업데이트
  • 이후 reponse를 특정 포맷으로 작성

7. 서버가 HTTP 응답 보냄

  • 서버 응답에 상태코드, 압축 유형, 쿠키 등 포함된 데이터를 HTTP Response 형태로 전송
  • status code 종류
    - 1xx(Information Response): 정보 메시지만 전달하며, 연결된 클라이언트는 계속 작업을 진행하라는 뜻
    • 2xx(Successful Response): 서버와의 요청이 성공
    • 3xx(Redirection Message): 요청 완료를 위한 추가 작업 조치가 필요
    • 4xx(Client Error Response): 클라이언트의 Request에 에러가 있음
    • 5xx(Server Error): 서버 측의 오류가 발생

8. 브라우저가 HTML 컨텐츠를 보여줌

  • 응답받은 HTML,CSS,JS등을 이용해 화면을 표현해서 브라우저 창에 띄워줌

참조
브라우저에 url을 입력하면 어떤일이 벌어질까?:https://velog.io/@khy226/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90-url%EC%9D%84-%EC%9E%85%EB%A0%A5%ED%95%98%EB%A9%B4-%EC%96%B4%EB%96%A4%EC%9D%BC%EC%9D%B4-%EB%B2%8C%EC%96%B4%EC%A7%88%EA%B9%8C

profile
차근차근 기록하고 배우는 개발자

0개의 댓글