웹프로그래밍 뿐만 아니라 웹에 대해 관심이 생기시 시작하면 제일 헷갈리는 단어와 용어가 URI와 URL일 것이다. 듣다보면 URN이라는 것도 듣게 되는데, 그 차이가 무엇이며 내가 흔히 알고 있는 URL은 무엇인지 알아보자.
URI(Uniform Resource Locator)는 말 그대로 통합 자원 식별자(ID)로써, 인터넷의 주소 같은 것으로, 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다.
URI가 갖고 있는 형태가 URL과 URN 이다.
URL(Uniform Resource Locator)은 특정 서버의 한 리소스에 대한 구체적인 위치를 서술한다.
URL은 리소스가 정확히 어디에 있고 어떻게 접근할 수 있는지 분명히 알려준다.
예를들면 다음과 같다.
http://example.com/mypage.html - 실제 사이트 URL
http://img.naver.net/static/www/dl_qr_naver.png - 네이버 앱QR코드의 이미지에 대한 URL
http://news.naver.com/main/main.nhn?mode=LSD&mid=shm&sid1=104
- 네이버뉴스에서 분류중 "세계"주제의 기사에 대한 URL
URN(Uniform Resource Name)은 콘텐츠를 이루는 한 리소스에 대해, 그 리소스의 위치에 영향 받지 않는 유일무이한 이름을 말한다.
이 위치 독립적인 URN은 리소스를 여기저기 옮기더라도 문제없이 동작한다.
리소스가 그 이름을 변하지 않게 유지하는 한, 여러종류의 네트워크 접속 프로토콜로 접근해도 문제가 없다.
따라서 무엇인지를 말하는 What의 개념으로 서로 중복되지 않는 유일한 값이어야한다
예를들면, 다음과 같다
urn:isbn:0451450523 - URN으로 1926년에 출간된 the Last Unicorn의 도서식별번호
urn:oid:2.16.840 - URN으로 미국을 의미하는 OID이다
URI(Uniform Resource Identifier)
- 통합 자원 식별자
- 인터넷에 있는 자원을 나타내는 유일한 주소
- URI의 존재는 인터넷에서 요구되는 기본조건으로 인터넷 프로토콜이 항상 붙어다님
(ex. http://www.naver.com (http프로토콜임을 명시하고 있음)
- URI의 하위개념으로 URL과 URN이 존재
URL(Uniform Resource Locator)
- 자원
URN(Uniform Resource Name)
- 위치와 상관없이 리소스의 이름값을 이용해서 접근하는 방식