흔히 혼용되어 불리는 URL과 URI의 차이점에 대해 알아보자.

1. URI는

Uniform Resource Identifier(통합 자원 식별자)를 의미한다.

URI는 인터넷의 우편물 주소 같은 것으로, 고유하게 정보 리소스를 식별하고 위치를 지정한다

ex) velog 유저 honeysuckle의 블로그 - https://velog.io/@honeysuckle

HTTP는 주어진 URI로 객체를 찾아온다.

URI에는 두 가지가 있는데 URL과 URN 이다.

2. URL(Uniform Resource Locator)

URI의 가장 흔한 형태이다.

URL은 특정 서버의 한 리소스에 대한 구체적인 위치를 서술한다.

대부분의 URL은 세 부분으로 이루어져 있다.

  1. 스킴 : 리소스에 접근하기 위해 사용되는 프로토콜(https://)

  2. 인터넷 주소 : velog.io

  3. 웹 서버의 리소스 : /@honeysuckle

3. URN?

URL은 세상에 존재하는 모든 객체에 이름을 지을 수 있고, 포맷을 쉽게 추가 할수 있으며, 일관된 작명 규칙을 제공하는 강력한 도구이다.

하지만 URL이 완벽한 것은 아니다. 단순 주소이지 실제 이름은 아니다. 리소스가 옮겨지면 더는 해당 주소를 사용 할 수 없다.

이런 문제 해결의 이상적인 해법은, 객체 위치와 상관없이 실제 객체의 이름을 사용 하는 것이다.

URN은 객체의 절대 위치를 가리킨다.

PURL을 사용하면 URL로 URN의 기능을 제공 할 수 있다. PURL은 리소스의 실제 URL 목록을 관리하고 추적하는 리소스 위치 중개 서버를 두고, 해당 리소스를 우회적으로 제공한다.

한동안 URN 방식이 활용되었었다. 그러나 URL에서 URN으로 주소 체계를 바꾸는 것은 매우 큰 작업이다.

전환하기 위해선 시간이 걸리기 때문에 당분간 URL이 계속 사용될 것이다.

결론

  1. URI는 인터넷에서 사용되는 고유한 정보 리소스(주소)이다.

  2. URL은 URI의 하위개념으로 URI의 종류에는 URL, URN 이 있다.

  3. 대부분의 URI는 URL로 구현되어 있어, 사실상 동일한 의미를 갖는다.

참고 : HTTP 완벽 가이드 - 2장 URL과 리소스