카테고리 없음

02. http URI와 웹 브라우저 요청 흐름

진호우 2025. 12. 1. 18:16

웹과 인터넷에서 리소스를 식별하거나 접근할 때 사용하는 개념이 URI이다. URI는 URL과 URN을 포함하며, 각 개념의 차이를 명확히 이해하는 것이 중요하다.

URI(Uniform Resource Identifier)

URI는 인터넷 상의 리소스를 식별하기 위한 규약이다.
URI는 두 가지 방식으로 리소스를 나타낼 수 있다.

  • URL(Resource Locator): 리소스의 위치를 나타낸다.
  • URN(Resource Name): 리소스의 이름을 나타낸다.

즉, URI는 URL과 URN을 모두 포함하는 상위 개념이다.


URL과 URN

URL(Resource Locator)

URL은 특정 리소스가 어디에 위치해 있는지를 나타내는 방식이다.

예시

foo://example.com:8042/over/there?name=ferret#nose

 

RL 구성 요소

  • scheme
  • authority
  • path
  • query
  • fragment

이 구조를 통해 브라우저는 리소스가 어디에 위치하는지 판단한다.

URN(Resource Name)

URN은 리소스가 어디에 있는지와 관계없이 이름만으로 식별하는 방식이다.

예시

urn:example:animal:ferret:nose

 


URL 상세 설명

scheme

URL의 가장 앞부분에 있으며 보통 사용하는 프로토콜을 의미한다.

  • http: 기본적으로 80번 포트 사용
  • https: 기본적으로 443번 포트 사용
    이 기본 포트는 생략이 가능하다.

query

query는 key=value 형태로 데이터를 전달하기 위한 부분이다.

  • ? 로 시작한다.
  • & 로 여러 값을 구분한다.
  • query parameter, query string 등 다양한 이름으로 불린다.

웹 브라우저의 요청 흐름

웹 브라우저가 URL을 입력받고 서버에 요청을 보내기까지의 흐름은 다음과 같다.

  1. 웹 브라우저가 HTTP 요청 메시지를 생성한다.
  2. 생성한 HTTP 메시지를 SOCKET 라이브러리를 통해 전달한다.
    • A: TCP/IP 연결을 생성한다.
    • B: 데이터를 전달한다.
  3. 최종적으로 TCP/IP 패킷이 생성되고, 그 안에 HTTP 메시지가 포함된다.

이 과정을 통해 브라우저는 원하는 리소스를 서버로부터 전달받는다.