본문 바로가기

TIL(Today I Learned)

TIL-231025(URI, URL, URN)

📝오늘 공부한 것

  • URL, URI, URN 공부
  • 커리어톤 참여하기
  • 프로그래머스 문제풀기

📌 URI, URL, URN

지금까지는 URI가 나올 때마다 URL과 비슷한 것이라고만 이해한 채 넘어가고는 하였다.
이제는 URI가 무엇인지, URL과의 차이점이 무엇인지에 대해 공부해보고자 한다.

https://hstory0208.tistory.com/entry/URI%EC%99%80-URL-%EB%B9%84%EC%8A%B7%ED%95%B4%EB%B3%B4%EC%9D%B4%EB%8A%94%EB%8D%B0-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%B4-%EB%AD%98%EA%B9%8C-%EC%99%84%EB%B2%BD-%EC%A0%95%EB%A6%AC

 

📍 URI (Uniform Resource Identifier) - 통합 자원 식별자

  • 인터넷상의 리소스 '자원 자체'를 식별하는 방법
  • Uniform - 리소스를 식별하는 통일된 방식
    Resource - URI로 식별이 가능한 모든 종류의 자원(웹 브라우저 파일 및 그 이외의 리소스 포함)
    Identifier - 다른 항목과 구분하기 위해 필요한 정보
  • URI이 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어다닌다.

✔ 리소스 : HTTP에서 요청한 대상

 

📍 URL (Uniform Resource Locator) - 통합 자원 지시자

  • 인터넷에서 웹 페이지, 이미지, 비디오 등 리소스의 '위치'를 가리키는 문자열
  • 자원 식별자와 위치를 동시에 보여준다.
  • 웹 사이트 주소 + 컴퓨터 네트워크 상의 자원
  • 이는 웹사이트 주소뿐만 아니라 컴퓨터 네트워크 상의 자원을 모두 나타내는 표기법이다.
  • 특정 웹 페이지의 주소에 접속하기 위해서는 웹 사이트의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 접속이 가능한데, 이들을 모두 나타내는 것이 URL이다.

 

📍 URN (Uniform Resource Name) - 통합 자원 이름

  • 리소스의 위치, 프로토콜, 호스트 등과는 상관없이 식별 가능한 고유한 이름 역할
  • 즉, URL은 어떤 특정 서버에 있는 웹 문서를 가리키는 반면, URN은 웹 문서의 물리적인 위치와 상관없이 웹 문서 자체를 나타낸다.
  • 웹 문서가 다른 웹 서버로 이동하거나 주소가 바뀌는 등 물리적 위치가 변경되더라도 해당 문서를 찾을 수 있다. 

예를 들어 :

어떤 책의 국제 표준 도서 번호(isbn) 84879534의 URN이라면

urn:isbn:84879534

이런식으로 나타나게 된다.

하지만 아직까지 보편화 되지 않고 있기에 대부분 URL를 사용하고 있습니다.

 

  URL의 한계란?

리소스의 위치를 옮기면 해당 URL을 더 이상 사용할 수 없는 것.

 

📍 URI vs URL

URI = 식별자, URL = 식별자 + 위치

1. URL은 일종의 URI이다.

 

2. URL은 프로토콜과 결합한 형태이다.

어떻게 위치를 찾고 도달할 수 있는지까지 포함되어야 하기 때문에 URL은 프로토콜 + 이름(또는 번호)의 형태여야만 한다.

 

3. URI는 그 자체로 이름이 될 수 있다.

URI는 그 자체로 이름(yewon0309.tistory.com)이거나,

이름 + 위치(https://yewon0309.tistory.com)를 나타낸 형태 모두가 해당된다.

 

https://www.elancer.co.kr/blog/view?seq=74

scheme : 리소스에 접근하는 데 사용할 프로토콜. 웹에서는 http 또는 https를 사용

host : 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP

:port : 웹 서버에 접속하기 위한 통로

/path : 접근할 대상(서버)의 경로에 대한 상세 정보 -> 참고로, 경로(Path)에 해당하는 부분은 URN이라고 한다.

?query : 리소스의 형식 범위를 좁히기 위한 추가 질문(key=value 형식)

#fragment : URL이 지정하는 자원의 세부 부분을 지정할 때(세부 주제를 찾을 때)

 

 

 

 

 

 

 

 

 

 

References :

https://developer.mozilla.org/en-US/docs/Glossary/URI

https://developer.mozilla.org/ko/docs/Glossary/URL

https://developer.mozilla.org/ko/docs/Glossary/URN

https://stackoverflow.com/questions/4913343/what-is-the-difference-between-uri-url-and-urn

https://www.hostinger.com/tutorials/uri-vs-url

https://www.elancer.co.kr/blog/view?seq=74

https://hstory0208.tistory.com/entry/URI%EC%99%80-URL-%EB%B9%84%EC%8A%B7%ED%95%B4%EB%B3%B4%EC%9D%B4%EB%8A%94%EB%8D%B0-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%B4-%EB%AD%98%EA%B9%8C-%EC%99%84%EB%B2%BD-%EC%A0%95%EB%A6%AC

https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-URL-URI-%EC%B0%A8%EC%9D%B4

https://chobopark.tistory.com/221