URL과 URI의 의미와 차이점 (Difference between URL & URI)

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 12 comments

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:blog-61

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

 


 

 

http://javapapers.com/servlet/uri-and-url-difference/

12 Comments

  1. 웹 기반 구조문법에서 http가 아닌 다른 프로토콜을 해석할 수 있는 프로그램이 핸들링한다고 하셨는데, 그 프로그램이 어디에 위치하고 있는 건가요?

    1. 따로 해석하는 프로그램을 설치하셔야 합니다.
      – 예를 들어 다음의 URI Schema (storylink://) 를 사용하면 카카오스토리 앱이 실행되면서 해석하고 동작합니다.

      http://www.kakao.com/services/api/story_link

      – 요즘 가장 많이 쓰이는 것은 아이폰 앱스토어 및 안드로이드 앱스토어 링크입니다.
      http://developer.android.com/distribute/tools/promote/linking.html

  2. 알기 쉽게 잘 설명해주셨네요. 잘 이해 되었습니다.

  3. 이해하기 쉽게 잘 설명해주셨네요. 감사합니다. 좋은 정보라서 제 블로그로 담아갑니다.
    http://blog.naver.com/playdad/220796139262

    1. 네. 저도 가끔씩 제 글을 읽어보면서 “더 쉽게 설명하는 방법 없을까” 고민하고 수정하고는 합니다.

  4. 좋은글 감사합니다.

  5. 정말 좋은 정보 감사합니다. 저도 좋은 정보가 있어서 이 글좀 인용하겠습니다 ㅎㅎ

  6. 좋은 정보 감사합니다. 제블로그에 담아가도될까요.

  7. 이해하기 쉽게 잘 정리해주셔서 너무 감사합니다 😀

    1. 캄솨합니다! 기본 지식은 알고 있는게 좋아요.

Leave a Comment

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*