본문 바로가기

Programming/Web

[Web] URI, URL, URN 이란?

URI, URL, URN 이란?



URIUniform Resource Identifier 의 약자로

URL(Uniform Resource Locator)와 URN(Uniform Resource Name) 을 포함합니다.

 

URI (Universal Resource Identifier)

URI (Universal Resource Identifier)는 인터넷에 있는 자원을 나타내는 유일한 주소이다. 

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

URI는 다음과 같은 요소로 구성된다.

프로토콜 (HTTP 혹은 FTP) + : + // + 호스트이름 + 주소

예: http://ko.wikipedia.org


 

 

URL (Uniform Resource Locator)

URL(Uniform Resource Locator)은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 

규약이다. 흔히 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소 뿐만 아니라 컴퓨터 

네트워크 상의 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다.

FTP 프로토콜인 경우에는 FTP 클라이언트를 이용해야 하고, HTTP인 경우에는 웹 브라우저를 이용해야 한다. 텔넷의 경우에는 텔넷 프로그램을 이용해서 접속해야 한다.


URL의 이름 구성

URL은 제일 앞에 자원(인터넷 주소)이 위치한 서버의 프로토콜을 적는다. gopher, telnet, ftp, http, usenet 등이다.

URL 다음에는 프로토콜과 주소를 구분하는 구분자를 적는다. ":" 가 이에 해당한다.

만약 인증정보가 필요한 형태의 프로토콜이라면 구분자":" 다음에 "//"를 적는다.

예1) mailto:somebody@mail.somehost.com - 인증정보가 필요없는 프로토콜

예2) ftp://id:pass@ftp.somehost.com - 인증정보가 필요한 프로토콜


비록 접속시 인증정보가 필요 없는 공개된 서비스라고 해도, 프로토콜 자체가 "인증"이라는 개념을 제공하면 "//"를 넣어 주도록 한다.

예1) http://www.somehost.com - 접속시 인증정보가 필요 없지만, http는 "인증"을 제공해 주기 때문에 // 를 넣어 준다.

구분자 다음에는 실제 주소를 넣는다. 본래는 숫자로 된 IP 주소이다. 211.111.111.111 

같은 형태이다.

그러나, 숫자를 외우는 것은 동서양에 관계 없이 힘들기 때문에 이를 인식하기 쉬운 영단어로 바꿔 사용한다. 이것이 도메인 주소이다. ko.wikipedia.org 같은 것이다.



URN (Uniform Resource Name)

URN(Uniform Resource Name)은 자원에 대하여 영속적 (persistent)이고 유일하다. 

위치에 독립적인 이름을 제공하기 위하여 존재한다.

iURN은 문자열 "urn" 혹은 "URN", NID (Namespace Identifier), 그리고 NSS (Namespace Specific String)로 구성되어 있으며 각 구성 엘리먼트간에 콜론(:)을 위치시킨다. NID는 

URN의 형태를 나타내는데,

예를 들어 차후 XMLgo.net에서 ebXML문서의 형태로 각 회사의 정보를 기억해 두는 저장소를 URN으로 가리키고 , NSS 는 유일하고 영속적이여야 하며, 여기서는 registry1이라고 칭하였다.

좀더 현실적인 예를 들어 본다면

한국인을 위한 URN을 만들기 위하여 한국-시민 이라고 선언할 수 있다. NSS 로는 유일한 번호, 주민등록 번호를 표현하도록 한다면 000000-0000000 이 될 것이다.

출처 : URI, URL, URN 이란?






'Programming > Web' 카테고리의 다른 글

[Web] web.xml 에러페이지 처리  (0) 2015.01.09
[Web] requestPath  (0) 2014.12.08
[Web] Servlet/JSP Programming  (0) 2014.09.18
[Web] HTTP Protocol 과 REST  (0) 2014.09.02
[Web] HTML5 File API  (0) 2014.09.02