URI와 URL..? 뭐야 같은 게 아니었네? (URN은 또 뭐야)

URI와 URL 뭐가 다른 걸까요?

아마 단어로 알아보는 게 가장 직관적이고 쉬울 것 같습니다.

공통점 = Uniform Resource

URI와 URL...
단어만 두고 봤을 때, 공통점은 UR입니다.

UR은 Uniform Resource.

  • Uniform: 통일된 형식을 따릅니다.
  • Resource: 자원을 나타냅니다. Ex) 문서, 이미지, 서비스 등의 인터넷에 존재하는 모든 것.

오케이.

UR = '통일된 자원'
즉, Uniform Resource는 인터넷 상의 자원을 고유하고 일관되게 식별하기 위한 체계를 의미하며, 이를 통해 자원 간의 충돌을 방지하고 일관된 접근 방식을 제공합니다.

URI = Identifier

I(Identifier)는 식별자를 뜻합니다.
즉, URI는 자원을 고유하게 식별하는 문자열입니다.

URI는 자원의 위치와 상관없이 자원 자체를 식별할 수 있습니다.

URI의 두 가지 형태

  • URL (Uniform Resource Locator): 자원의 위치
  • URN (Uniform Resource Name): 자원의 이름

자, 여기까지 왔다면 URL은 쉽습니다.

URL = Locator

위의 URI 설명에서 보셨듯, URI는 포괄적인 개념입니다.

그 안에서 URL과 URN으로 나뉘죠.

URL의 구성요소

  • 프로토콜 (Scheme)
    • 자원에 접근하는 데 사용할 프로토콜을 지정합니다.
    • 예: http, https, ftp.
    • 예시: https://
  • 도메인 (Domain)
  • 포트 번호 (Port)
    • 서버의 특정 포트 번호를 지정할 수 있습니다. 생략할 경우 기본 포트가 사용됩니다.
    • 예: :80 (HTTP의 기본 포트), :443 (HTTPS의 기본 포트).
    • 예시: https://www.example.com:443
  • 경로 (Path)
  • 쿼리 문자열 (Query String)
    • 자원에 대한 추가적인 매개변수 정보를 제공합니다. ?로 시작하며, &로 구분된 키-값 쌍으로 구성됩니다.
    • 예: ?id=123&category=books.
    • 예시: https://www.example.com/search?q=openai
  • 프래그먼트 (Fragment)

URI & URL, 예시를 통한 비교