ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 브라우저에 URL을 입력하면 어떤 동작을 하는가
    Network 2024. 1. 27. 14:25
    728x90

    1. URL 파싱

    URL을 입력받은 브라우저는 URL을 파싱하여 어떠한 프로토콜, 도메인, 포트로 구성된 구조인지 해석합니다.

    2. DNS 기록 확인

    브라우저는 연결할 서버를 파악하기 위해 도메인으로 IP 주소를 확인하는 과정을 거칩니다.
    이때 IP 주소를 확인하기 위해 먼저 캐시된 DNS 기록을 확인하는데 순서대로 브라우저의 캐시, OS 캐시, 라우터 캐시, ISP 캐시에서 캐시된 DNS 기록을 확인합니다.
    캐시된 DNS 기록이 없다면 ISP가 DNS 서버에 질의를 하여 IP 주소를 찾습니다. 이때 재귀적 질의를 통해 최상위 DNS 서버 까지 질의하게 될 수 있습니다.

    3. 서버와의 TCP 연결

    서버의 IP 주소를 확인 후 서버와 데이터 패킷 전송을 위해 TCP 연결을 하게 됩니다.
    연결은 3-way handshake 과정을 통해 이루어지고 동작방식은 다음과 같습니다.

    1. 클라이언트는 서버에 SYN 패킷을 전송하여 연결이 가능한지 확인합니다.
    2. 서버에서 연결을 할 수 있는 포트가 있다면 클라이언트의 SYN 패킷에 대한 응답으로 SYN/ACK 패킷을 전송합니다.
    3. 클라이언트는 서버로 SYN/ACK 패킷을 수신하고 ACK 패킷을 전송하여 연결을 완료합니다.

    4. 서버에 HTTP 요청

    TCP 연결이 완료되었다면 서버에 데이터를 전송을 하기 위해 HTTP 요청을 하게 되고 HTTP 요청에는 요청 라인, 헤더, 본문이 포함됩니다.

    5. 서버의 응답

    서버에서 받은 요청을 처리 후 클라이언트에 응답을 전송합니다.

    6. 브라우저 렌더링

    서버로부터 응답받은 컨텐츠를 통해 브라우저를 렌더링합니다.

    728x90

    'Network' 카테고리의 다른 글

    HTTPS의 동작 원리  (0) 2024.01.27
    [AWS] ALB, NLB, GWLB  (0) 2023.09.16
    [Network] NAT(Network address translation)  (0) 2023.09.13
    [Network] TCP와 UDP의 차이  (0) 2020.08.31
    [Network] TCP/IP란?  (0) 2020.08.14
Designed by Tistory.