성장일기

 인터넷을 사용하다 보면 URI, URL, URN에 대해서 누구나 들어봤을 것이다. 이 용어들의 정확한 정의는 무엇이며 어떠한 차이가 있을까?

 

 

1. URI란?


 URI란 Uniform Resource Identifier의 약어로 이를 해석하자면 통합 자원 식별자이다. 인터넷에 서버로 접근하기 위한 자원들을 식별하기 위한 고유의 주소이다. URI의 하위 개념으로 URL, URN이 있으며 "URI는 로케이터(locator), 이름(Name)또는 둘다 추가로 분류될 수 있다. 

 

 

https://www.ietf.org/rfc/rfc3986.txt

 

 

2. URL이란?


 위 그림에서 보았듯이 URL은 URI의 하위 개념으로 Uniform Resource Locator의 약어이다. 이름에서 알 수 있듯이 Locator(위치)를 이용하여 특정 자원을 식별하는 방법이다. Locator(위치)는 변할 수 있고, 뒤에서 알아 볼 Name(이름)은 변하지 않는다. 

 

https://www.hello.com/folder1/2 

 

https://www.hello.com/folder1/2?name=hello 

 

 위의 두 예시에서 보면 hello.com은 도메인 이름으로 DNS에 의해서 해당 ip로 접근 후에 /folder1/2의 디렉토리 형태의 Locator(위치)를 통해서 해당 자원을 유일하게 식별하고 접근할 수 있게된다.

 

 도메인명은 유일하기 때문에 해당 서버에서 /folder1/2와 같이 디렉토리 형태의 Locator(위치)를 설정하여 자원을 유일하게 관리할 수 있는 것이다.

 

 

3. URN이란?


 URN은 URI의 하위 개념으로 Uniform Resource Name의 약어로 인터넷상에서의 자원을 식별하는 방법으로 Name(이름)을 이용하는 것이다. Locator(위치)는 변할 수 있지만, Name(이름)은 변하지 않는다. 

 

urn:isbn:23409258 (어떤 책의 isbn URN)

 

urn:uuid:6s234de-49dw-12de-3003-00432ew1d (범용 고유 식별자)

 

하지만 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았다.

 

 

 

+ URL 문법


scheme://[userinfo@]host[:port][/path][?query][#fragment]

 

  • scheme - 프로토콜 (http, https, ftp)
  • userinfo@ - 사용자 정보를 포함해서 인증 (거의 사용하지 않음)
  • host - (호스트명, 도메인명 또는 ip주소를 직접 사용가능)
  • port - 포트번호 (일반적으로 생략,  http - 80, https - 433)
  • path - 리소스 경로, 디렉토리 형태
  • query - key=value 형태, ?로 시작, &로 추가 가능, query parameter, query string등으로 불림, 데이터 전달 목적
  • fragment - html 내부 북마크등에 사용, 서버에 전송하는 정보x

 

공유하기

facebook twitter kakaoTalk kakaostory naver band