URI / URL / URN

길고 꾸준하게·2022년 5월 15일
0
post-thumbnail

URI (Uniform Resource Identifier)

인터넷 자원을 나타내는 고유 식별자
=> 인터넷 자료의 고유한 id같은 개념. 2가지 형태가 있다 (URL / URN)

URI의 구성요소

http://www.google.com/search?q=hello&hl=ko
:Scheme :hosts :port(생략가능) :url-path :query #fragment(optional)

순서를 따라야한다.

  • 스키마(Scheme) : 통신방식 서술 (http / https / ftp 등)
  • hosts : 웹서버의 이름 -> 도메인방식 / IP 등.
  • port : 말그대로 포트. 생략가능하고 일반적으로 http - 80 https - 443포트를 주로사용
  • url-path : 리소스가 있는 경로. 일반적으로 계층구조다
    ex) home/file1.jpg , members/item/100
  • query : 서버에 보내는 추가적인 데이터 '?'로 시작하며 '&'로 추가를 한다 구조는 key=value
  • fragment : 리소스 내부에 북마크된 지점의 컨텐츠를 보여주기위해 사용. '#'로 시작
    ex) http://www.google.com/index.html**#image**
    html의 id값을 적어준다 -> 생각해보면 css에서 id셀렉터가 '#'지? 같은맥락아닐까 싶다.

URL

서버에 한 리소스에 대한 구체적인 위치(location) 를 서술함.

우리가 흔히보는 그것이다. 리소스에 대한 위치를 서술하기 때문에 정확한 위치를 알수있고, 어떻게 접근하는지 또한 알수있다. URI의 구성요소중 fragment는 포함하지 않는다.

(블로그마다 URI = URL이란 소리도있고 fragment를 포함한단 소리도 있고 한데. 위키백과에서는 fragment를 포함하지 않는다고 하니 이렇게 포스팅한다.)

URN

서버에 한 리소스에 대해 '위치에 영향을 받지 않는' 유일무이한 이름

URL이 리소스에 '위치'를 서술한다고 했다. 그럼 리소스의 위치가 바뀌면 해당 URL은 무용지물이 될것이다. 그래서 URL의 단점을 보완하고자 나온게 URN인데. 해당 리소스에 이름표를 붙이는 것이고, 위치정보가 아니기때문에 서버내에 리소스가 이리저리 위치를 옮겨도 결국 '이름'만 바뀌지 않는다면 상관없을것이다.

=> 하지만 아직 표준화가 되지 않아 접할기회가 없었다.

웹브라우저 요청 흐름

https://ko.wikipedia.org/wiki/URL
https://backhero.tistory.com/7
https://mygumi.tistory.com/139

profile
작은 나의 개발 일기장

0개의 댓글