출처 : http://blog.lael.be/post/61
2011년 작년, 지인이 나에게 물어봤다.
지인은 인터넷 관련 대기업에 면접을 본 후였고 면접 내용에 대해서 말해주었다.
“URL이 무슨 약자인지 물어봤는데 대답을 못했어.”
라엘이의 대답은
“Uniform Resource Locator 의 약자인데 말 그대로 정형화 된 리소스 위치표시 라는 뜻이지.”
“그리고 면접관이 실무자가 아니었나본데 요즘은 URL이라는 용어를 잘 안쓰고 URI라고 써”
외국 사이트들의 트랜드를 봤을 때
요즘은 URL보다는 URI라는 용어를 사용하는 것을 알 수 있다.
우선
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
#내용추가 . 13.07.15
위키백과 보고 조금 더 추가합니다.
요즘 URI를 쓰는이유가 URN 때문은 아닐 것이라 생각하지만 그래도 알아두면 좋을것 같아서 씁니다.
URI 가 URL과 URN을 포함하는데 URN은 Uniform Resource Name 의 약자입니다.
URN 문법은
urn:isbn:0451450523
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
이런건데 isbn이나 uuid를 해석가능한 프로그램이 있어야 동작합니다.
예를 들어서 저만의 urn을 만들어보자면
urn:laelbe:480
을 쓰고 laelbe 해석 프로그램을 만든다음에 https://lael.be/480 으로 매칭하도록 짤수 있겠군요.