Post

URI, URL, URN

1. 관계

image

image

2. URI (Uniform Resource Identifier)

  • Uniform은 리소스를 식별하는 통일된 방식.

  • Resource란, URI로 식별이 가능한 모든 종류의 자원(웹 브라우저 파일 및 그 이외의 리소스 포함)을 지칭.

  • Identifier는 다른 항목과 구분하기 위해 필요한 정보.

1
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
  • 구조
    • scheme : 사용할 프로토콜을 뜻하며 웹에서는 http 또는 https를 사용
    • user와 password : (서버에 있는) 데이터에 접근하기 위한 사용자의 이름과 비밀번호
    • host와 port : 접근할 대상(서버)의 호스트명과 포트번호
    • path : 접근할 대상(서버)의 경로에 대한 상세 정보
    • query : 접근할 대상에 전달하는 추가적인 정보 (파라미터)
    • fragment : 메인 리소스 내에 존재하는 서브 리소스에 접근할 때 이를 식별하기 위한 정보
  • 즉, URI는 인터넷상의 리소스 “자원 자체”를 식별하는 고유한 문자열 시퀀스.
  • 예제
    • ex) example.com는 URI지만 URL은 아님
      • 이유 : 식별자이긴 하나 http와 같은 프로토콜이 붙어있지는 않고, 자원의 위치가 명시된 것이 아니다.
    • ex2) http://example.com/index.html
      • 이유 : 식별자이면서 동시에 https와 같이 통신 프로토콜도 붙어 있다

3. URL (Uniform Resource Locator)

  • 네트워크상에서 통합 자원(리소스)의 “위치”를 나타내기 위한 규약. 즉, 자원 식별자와 위치를 동시에 표현.

  • 특정 웹 페이지의 주소에 접속하기 위해서는 웹 사이트의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 접속이 가능

  • 웹 사이트 주소 + 컴퓨터 네트워크 상의 자원

  • 예제)

    • ex1) http://example.com/index.html는 URL이다
      • 이유 : 통신 프로토콜을 명시하고 있고, 리소스의 위치를 가리키므로 URL이다
    • ex2) http://www.example.com/index.html?page=1&id=1는 URI이다.
      • 이유 : index.html과 같이 자원 위치까지만 나타낸다면 URL이지만, ?뒤의 querystring에 따라 index.html에 대한 결과가 달라질 것이므로 이 경우는 URI라고 할 수 있다.

4. URN (Uniform Resource Name)

  • URN은 리소스를 어떻게 접근할 것인지 명시하지 않고 경로와 리소스 자체를 특정하는 것을 목표로하는 URI이다.

  • http와 같은 프로토콜을 제외하고 리소스의 name을 가리키는데 사용된다.

  • 실제 자원을 찾기 위해서 urn을 url로 변환하여 이용한다.

  • 예제 (RFC3986의 예시)

    • urn:oasis:names:specification:docbook:dtd:xml:4.1.2
    • tel:+1-816-555-1212

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