카테고리 없음2017. 12. 21. 13:20

우선

URL은 Uniform Resource Locator

URI는 Uniform Resource Identifier

이다.

 

그냥 단어의 뜻대로 해석하자면 예전에는 URL이 가리키는게 파일리소스 였는데

요즘은 Rewrite 등의 Apache , IIS, Tomcat 핸들러 때문에 자원 이라고 부른다.

 

즉 웹사이트 주소가 (http://test.com/adultdisease/diabetes) 라고 했을 때

요청하는 주소가 파일이라기 보다는 구분자로 보는 것이다.

실제로 해당 웹사이트의 adultdisease/diabetes 라는 파일은 없다.

 

요약하자면 URL 은 다음과 같다.

http://test.com/work/sample.pdf

test.com 서버에서 work 폴더안의 sample.pdf 를 요청하는 URL.

 

URI(통합 자원 식별자) 의 예는 다음과 같다.

1) rewrite 기술을 사용하여 만든 의미있는 식별자

http://test.com/company/location

 

2) REST 서비스 (url로 실행되는 서비스)

http://service.com/tv/turn/on

 

3) Web-oriented architecture (웹 기반의 구조문법)

kakaotalk://sendmsg?text=hello!  (이 uri는 kakaotalk 프로토콜을 해석할 수 있는 프로그램이 핸들링한다. 해당프로그램은 sendmsg 라는 식별자를 해석하고 동작한다.)

facebookmsg://like?url=mysite.com (이 uri는 facebookmsg 프로토콜을 해석할 수 있는 프로그램이 핸들링한다. 해당프로그램은 like 라는 식별자를 해석하고 동작한다.)

 

 

이해하기 쉽게 동물로 표현하자면.

URI(동물) 가 좀더 상위 개념이라서 URL(강아지), URN(다람쥐) 등의 하위 개념을 포함한다.

 

URI 와 URL 이 아예 다른게 아니라 포함관계라서

모든 URL 는 URI 이다. 가 성립힌다. (TRUE)

URI = URL + URN

 


URI 가 URL과 URN을 포함하는데 URN은 Uniform Resource Name 의 약자이다.

URN 문법은

urn:isbn:0451450523

urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66

이런건데 isbn이나 uuid를 해석가능한 프로그램이 있어야 동작합니다.

 

예를 들어서 urn을 만들어보자면

urn:laelbe:blog-61

을 쓰고 laelbe 해석 프로그램을 만든다음에 https://blog.lael.be/post/61 으로 매칭하도록 짤수 있겠다.

[출처] URL과 URI의 차이점|작성자 이회장


Posted by 미랭군