본문 바로가기

컴퓨터 공학/네트워크

URI,URL,URN이 뭘까? 무슨 차이인데?

인터넷에서 검색을 하다보면.. URL과 URI에 대해서 모호한 부분들이 너무 많은 것 같다...

그래서 내 나름의 정의를 내려보았다.

 

URI는 URI(Uniform Resource Identifier) 우리 말로 통합자원 식별자라고 한다.

URI는 URL,URN을 포함한 인터넷 상에 존재하는 모든 자원을 구분할 수 있게 하는 데이터나 기준들이라고 할 수 있다.

핵심은 Identifier 식별자가 핵심 키워드란 것만 알고 넘어 가면 될 것 같다.

 

URL은 URL(Uniform Resource Locator) 우리말로 통합 자원 지시자라고 할 수 있다.

흔히 우리가 사용되는 인터넷 상에서 주소라고 불리우는 것들은 대부분 URL이다.

마찬가지로 여기서 핵심은 Locator(주소식별자)이다.

자원 얻을 수 있는 주소라는 것으로 다른 대상을 식별하겠다. 라는 의미로 보여진다.

 

URN은 URN(Uniform Resource Name) 우리말로 통합 자원 이름이다.

실제로 URN은 자원의 이름으로써 존재하며

우리는 각자 이름을 갖고 그 이름을 통해서 구분되어지곤 한다.

이런 점에서 URN과 우리 이름과 공통점이 있다.

그러나 URL이 수정되거나 특정부분이 누락되면,

바로 가치가 사라지는 단점을 보완하기 위해

나온 개념으로, 불변성을 갖고 있기 때문에

URN은 우리의 이름보다는 주민번호에 가깝다고 볼 수 있다.

 

 

 

 

 

자 그럼..

어디까지가 URL이고 어디까지가 URI인데?

나는 여기서 제일 햇갈렸던 것 같다.

 

우리가 주로 사용하는 URI인지 URL인지는 

이런 구조를 갖고 있다.

https://github.com/1997SeoJiHeon?tab=repositories 이 주소를 예시로 들면

 

protocol SLD(Second Level Domain domain TLD(Top Level Domain) :port /path ?queryString
https:// 해당사항없음
(현 블로그의
senaluk.에
해당하는
부분)
github. .com (일반적으로 명시되지않음
TLD뒤에 엉뚱한 포트를 입력하면 이동이 되지 않음)
:80(http default) :443(https default)
0~65535
1997SeoJiHeon ?tab=repositories

그럼 URL을 입력하지않고 URL이 아닌 URI를 입력해도 주소이동이 가능한건 왜지?

나는 이런 부분들이 이상하다 느껴져서 이해가 잘 되지않았다..

예를들어

https://github.com/1997SeoJiHeon?tab=repositories 

이 주소에서 프로토콜부분을 제거해도

내가 얻을 수 있는 자원이 달라지거나 하지 않는다.

URL을 입력하는 것만으로 내가 원하는 자원을 얻을 수 있고, 구분짓는게 가능하다.

QueryString도 그 QueryString에 따라 얻을 수 있는 HTML문서가 달라진다.

즉, Locator로써의 역할을 수행하고 있는 것이 아닌가?

 

 

위키에는 이렇게 등재되어 있다..

https://www.wikiwand.com/en/URL#introduction

 

 
 

쉽게 말하면..

모든 URN과 URL은 URI이며,

 

아래 글도 개념정립에 조금 도움 됐었는데 참고하시면 좋을 것 같습니다.

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

 

What is the difference between a URI, a URL, and a URN?

What is the difference between a URL, a URI, and a URN?

stackoverflow.com

 

 

제가 잘못이해했다고 생각하시거나

저와 생각이 다르신 분들은 의견 남겨주시면 감사할 것 같습니다.ㅎㅎ