250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[Network] 잘못되게 알려진 URI, URL, URN에 대해서 제대로 알아보자 본문

[Snow-ball]프로그래밍(컴퓨터)/네트워크

[Network] 잘못되게 알려진 URI, URL, URN에 대해서 제대로 알아보자

Snow-ball 2023. 7. 25. 19:43
반응형

URI(uniform resouce indentifier, 통합 자원 식별자), URL(uniform resouce locator, 통합 자원 지시자), URN(uniform resouce name, 통합 자원 이름) 에 대해서 블로그들의 내용들이 잘못된 부분이 있어서 글을 올리게 되었다.

 

위의 그림은 URI, URL, URN에 대해서 검색을 하다보면 흔하게 나오며 대부분 비슷하게 그려놓은 이미지를 블로그들에서 인용을 많이 한다. 하지만 책 "HTTP 완벽 가이드"를 읽으면서 내가 알고 있던 지식이 잘못 되었다는 점을 알았다.

 

책의 내용에 대해서는 인용을 밑에서 인용을 하겠지만, "HTTP 완벽 가이드"에 대해서 먼저 말하자면 HTTP의 원서를 번역한 책이다. 그렇기 때문에 정확한 지식에 가까울 것이라고 판단해서 글을 올린다.

 

흔하게 알고 있었지만, 정확하게 모르고 있던 내용들에 대해서 공부해보는 시간을 가졌다.

 

 

 


 

 

 

URI

웹 서버 리소스는 각자 이름을 갖고 있기 때문에, 클라이언트는 관심 있는 리소스를 지목할 수 있다. 

서버 리소스 이름은 통합 자원 식별자(uniform resource indentifier), 혹은 URI로 불린다.

 

URI는 인터넷의 우편물 주소 같은 것으로, 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다.

 

'죠의 컴퓨터 가게'의 웹 서버에 있는 이미지 리소스에 대한 URI라면 이런식이다.

1
http://www.joes-hardware.com/specials/saw-blade.gif
cs

 

그림 1-4는 죠의 컴퓨터 가게 서버에 있는 GIF 형식의 톱날 그림 리소스에 대한 URI가 HTTP 프로토콜에서 어떻게 해석되는지 보여준다. HTTP는 주어진 URI로 객체를 찾아온다. URI에는 두 가지가 있는데, URL과 URN이라는 것이다. 이 두 종류의 자원 식별자에 대해 지금 살펴보자.

 

 

 

 


 

 

 

URL

통합 자원 지시자(uniform resouce locator, URL)는 리소스 식별자의 가장 흔한 형태다. 

URL은 특정 서버의 한 리소스에 대한 구체적인 위치를 서술한다. URL은 리소스가 정확히 어디에 있고 어떻게 접근할 수 있는지 분명히 알려준다.

 

밑에 표는 어떻게 URL로 리소스의 정확한 위치와 접근방법을 표현하는지 보여준다.

URL의 예

 

대부분의 URL은 세 부분으로 이루어진 표준 포맷을 따른다.

- URL의 첫 번째 부분은 스킴(scheme)이라고 불리는데, 리소스에 접근하기 위해 사용되는 프로토콜을 서술한다. 보통 HTTP 프로토콜(http://)이다.

- 두 번째 부분은 서버의 인터넷 주소를 제공한다(예: www.joes-hardware.com )

- 마지막은 웹 서버의 리소스를 가리킨다(예: /specials/saw-blade.gif )

 

오늘날 대부분의 URI는 URL 이다.

 

 

 


 

 

 

URN

URI의 두 번째 종류는 유니폼 리소스 이름(uniform resouce name, URN)이다.

URN은 콘텐츠를 이루는 한 리소스에 대해, 그 리소스의 위치에 영향 받지 않는 유일무이한 이름 역할을 한다. 이 위치 독립적인 URN은 리소스를 여기저기로 옮기더라도 문제없이 동작한다. 리소스가 그 이름을 변하지 않게 유지하는 한, 여러 종류의 네트워크 접속 프로토콜로 접근해도 문제없다.

 

예를 들어, 다음의 URN은 인터넷 표준 문서 'RFC 2141'가 어디에 있거나 상관없이(심지어 여러군데에 복사되었더라도) 그것을 지칭하기 위해 사용할 수 있다.

 

URN은 여전히 실험 중인 상태고 아직 널리 채택되지 않았다. 효율적인 동작을 위해 URN은 리소스 위치를 분석하기 위한 인프라 지원이 필요한데, 그러한 인프라가 부재하기에 URN 채택이 더 늦춰지고 있다. 

 

 

 

 

 

reference

* HTTP 완벽 가이드 page 7~9 

 

반응형
Comments