[URI와 웹 브라우저 요청 흐름]

2025. 7. 2. 13:34HTTP 모든 지식

✅ URI (Uniform Resource Identifier)

  • URI는 웹에서 자원을 식별하는 통합 개념입니다.
  • URI는 크게 두 가지로 분류됩니다:
  • Uniform:리소트 식별하는 통인된 방식
  • Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음)
  • Identifier: 다른 항목과 구분하는데 필요한 정보 
    • URL (Uniform Resource Locator): 자원의 위치(주소)를 나타냄
      예: https://www.example.com/index.html
    • URN (Uniform Resource Name): 자원의 이름(고유 식별자)을 나타냄
      예: urn:isbn:978-3-16-148410-0

👉 즉, URI는 "자원의 위치(URL)" 또는 "자원의 이름(URN)", 또는 그 둘 모두를 포함할 수 있는 개념입니다.

 

URL 전체 문법

-scheme://[userinfo@]host[:port][/path][?query][#fragment]

-https://www.google.com:443/search?q=hello&hl=ko

 

✅ 구성 요소 설명

scheme 프로토콜 (예: http, https, ftp, mailto)
userinfo@ (선택) 사용자 정보 (예: id:pw@)
host 도메인 또는 IP 주소 (예: www.google.com)
:port (선택) 포트 번호 – 생략 시 기본값 사용
→ http: 80, https: 443
/path 서버 내 자원의 경로 (예: /search)
?query (선택) 요청 파라미터 (예: q=hello&hl=ko), query parameter, query string 등으로 불림(숫자도 문자열로 변환)
#fragment (선택) 문서 내 특정 위치 (예: #section1)

✅ 프로토콜(Scheme)

  • URL에서 가장 앞에 위치하며, 자원에 접근하는 방식을 지정
  • 대표적인 예시:
    • http : HyperText Transfer Protocol
    • https : 보안이 추가된 HTTP (HTTP Secure)
    • ftp : 파일 전송
    • mailto : 이메일 주소
    • tel : 전화번호 링크

🔐 HTTPS란?

  • HTTPS = HTTP + 보안(Secure)
  • SSL/TLS 암호화를 통해 데이터 도청/변조 방지
  • http는 80번 포트, https는 443번 포트 사용
  • 포트 번호는 생략 가능 (브라우저가 기본값 자동 사용)

 

🌐 웹 브라우저의 요청 흐름

✅ 1. DNS 조회

먼저 브라우저는 www.example.com 이라는 도메인을 IP 주소로 변환하기 위해 DNS 조회를 수행합니다.

예를 들어, DNS 응답으로 200.200.200.2 라는 IP 주소를 받았다고 가정합시다.

그리고 https:// 프로토콜이 사용되었으므로, **기본 포트는 443번**이 됩니다.
즉, 브라우저는 다음과 같은 주소를 대상으로 요청을 시도합니다:

 

HTTPS이기 때문에, 브라우저는 먼저 TLS(SSL) 핸드셰이크를 통해 보안 연결을 설정합니다.

그 후, 아래와 같은 형태의 HTTP 요청 메시지를 서버에 전송합니다:

GET / HTTP/1.1 Host: www.example.com User-Agent: Chrome/xx.x Accept: */*

요약하자면, 사용자가 URL을 입력하는 순간 브라우저는 다음과 같은 흐름으로 동작합니다:

  1. DNS 조회 → IP 주소 획득 (예: 200.200.200.2)
  2. HTTPS인 경우 443 포트로 TLS 연결
  3. HTTP 요청 메시지를 구성하여 전송

'HTTP 모든 지식' 카테고리의 다른 글

HTTP 헤더 캐시와 조건부 요청  (0) 2025.07.06
HTTP 상태코드  (1) 2025.07.03
HTTP 메서드  (0) 2025.07.02
HTTP 지식 모든 것  (0) 2025.07.02