웹프로그래밍/이론

[WEB] URI vs URL vs URN 비교 분석

ssung.k 2020. 10. 19. 21:28

블로그를 포스팅하면서 URIURL이라는 단어를 사용할 일이 많았습니다.

하지만 그 때마다 적절하게 잘 선택을 하였는지, 그리고 정확하게 각각의 차이가 무엇인지 혼동되어 이를 정리해보고자 합니다.

 

URI vs URL vs URN

각각에 대해서 알아봅시다.

URI

URI는 Uniform Resource Identifier의 약자로 해석하자면, 통합 자원 식별자라고 합니다.

인터넷의 우편물 주소 같은 것으로, 자원을 고유하게 식별하고 위치를 지정할 수 있습니다.

URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닙니다.

다음과 같이 제 블로그의 URI도 앞에 http 프로토콜이 존재하죠.

https://ssungkang.tistory.com/images/MSA.jepg

해당 URI는 제가 만들어낸 예시로서 실제로 존재하지 않습니다.

뒤에 밴다이어그램에서도 알 수 있듯이 URI는 URL과 URN을 모두 포함하는 개념입니다.

 

URL

URL은 Uniform Resource Locator의 약자로 해석하자면, 통합 자원 지시자입니다.

URL은 URI의 가장 흔한 형태로 네트워크 상에서 자원이 어디 있는지에 대한 구체적인 위치를 나타냅니다.

 http://www.mysite.com/foler_name/file_name.html

 

요즘에는 Apache나 Nginx 등이 rewrite기술로 인해 URL을 단순히 자원 지시자로서 특정 파일의 위치를 지시하기 보다 자원 식별자로서 사용이 되고 있습니다.

오늘날 대부분의 URI는 URL입니다.

 

URN

URN은 Uniform Resource Name의 약자로 통합 자원 이름입니다.

리소스의 위치에 영행 받지 않는 유일무이한 이름 역할을 합니다.

위치독립적이기 때문에 리소스를 여기저기로 옮기더라도 문제없이 동작하며 여러 종류의 네트워크 접속 프로토콜로 접근해도 문제가 없습니다.

예를 들어 다음은 인터넷 표준 문서 RFC 2141 에 대한 URN입니다.

urn:ietf:rfc:2141

URN은 여전히 실험 중인 상태고 아직 널리 채택되지 않았습니다.

 

 

종합적으로 이를 벤다이어그램으로 나타내면 아래와 같습니다.

URI 벤다이어그램

 

 

 

통상적인 관례에 따라 URI와 URL은 같은 의미로 사용을 하고 있습니다.

따라서 제가 블로그에 포스팅을 할 때 URI와 URL을 혼용해서 적은 것도 그렇게 문제는 되지 않을꺼라 생각됩니다.