Post

주소창에 URL을 입력하면 어떤일이 생길까??

주소창에 URL을 입력하면 어떤일이 생길까요??

안녕하세요! 오늘은 우리가 쉽게 접하는 URL 주소 창에대해 자세하게 알아보는 시간을 갖도록 하겠습니다.

사용자가 웹 브라우저의 주소창에 URL을 입력하면 웹 페이지를 로드하기 위해 브라우저 내부적으로 다양한 단계의 작업이 수행됩니다. 이 과정을 크게 8단계로 나눠서 자세하게 설명해 보겠습니다

1. URL 파싱 및 네비게이션 시작

  • 사용자가 주소창에 URL을 입력하거나 링크를 클릭하는 등으로 네비게이션을 시작합니다.
  • 브라우저는 URL을 파싱하여 프로토콜(예: http, https), 호스트명(예: example.com), 경로(예: /index.html) 및 쿼리 스트링 등을 추출합니다.

URL 에시

1
URL 예시: https://www.example.com/index.html?q=test#section1

위 URL을 파싱하면 다음과 같은 요소로 나눠집니다.

속성 값설명
프로토콜https
호스트명www.example.com
경로/index.html
쿼리 스트링q=test
프래그먼트section1

2. DNS 조회

  • 호스트명을 IP 주소로 변환하기 위해 브라우저는 DNS(Domain Name System) 조회를 시작합니다.
  • 이 과정은 브라우저의 DNS 캐시 또는 로컬 운영 체제의 캐시에서 먼저 시도되며, 캐시에 없을 경우 네트워크를 통해 DNS 서버에 요청합니다.

3. TCP 연결

  • IP 주소를 얻은 후 브라우저는 웹 서버와 TCP 연결을 설정합니다.
  • 이는 3-웨이 핸드셰이크 과정을 거치며, 일반적으로 서버의 80번(HTTP) 또는 443번(HTTPS) 포트로 연결합니다.

4. TLS 핸드셰이크 (HTTPS만 해당)

  • URL이 https 프로토콜일 경우, 브라우저는 서버와 TLS 핸드셰이크 과정을 통해 암호화된 연결을 설정합니다.
  • 이 과정에서는 서버 인증서의 유효성을 검증하고, 세션 키를 생성하며, 이후의 통신은 암호화된 상태로 진행됩니다.

5. HTTP 요청 및 응답

  • 브라우저는 서버에 HTTP 요청을 보냅니다.
  • 요청 라인: GET /index.html HTTP/1.1
  • 헤더: 사용자 에이전트, 쿠키 등
  • 바디: (POST 등의 요청에서)
1
2
3
4
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9

다음시간에 계속…

image

This post is licensed under CC BY 4.0 by the author.