[Web] URIs vs URLs

msriver·2020년 5월 30일
0

web

목록 보기
1/2

🤔 궁금증의 발단

JSP 와 Servlet을 공부하다보면 이 용어들이 나온다.
예를 들어 jstl을 사용하기 위해 taglib 지시자를 사용할 때? URI가 등장!
url은 자주 들어보긴 했으나 브라우저 주소창에 사용하는 문자열? 이렇게만 알고있었다.
잘 모를땐 역시 구글형님에게 여쭈어 보는것이 최고이므로 구글 검색창에 url uri 라고 검색을 했다. 역시나 많은 결과들이 나온다. 몇 개의 글을 보았는데 무언가 잘 모르겠다.
게다가 URL과 URI이 무엇의 줄인말인지 다들 FULL NAME을 적어둔 것까지는 같았지만 어떤 부분에 대해서는 설명을 다르게 하고 있어 혼란스러웠다.

http://test.com/test.pdf?docid=111 이라는 주소는 URI이지만 URL은 아니다.
http://test.com/test.pdf 까지만 URL이다.(주소의 위치)
docid=111이라는 쿼리스트링의 값에 따라 결과가 달라지게됨, 따라서 식별자 역할을 하고 있음
http://test.com/test.pdf?docid=111 ,http://test.com/test.pdf?docid=112는 같은 URL을 가지고 다른 URI를 가짐

어느 블로그에 작성된 글 내용을 발췌해왔다.
그러나 어느 글에서는 반대로 URI는 쿼리스트링 또한 포함한 그 자체를 가리킨다고 되어있다.
무엇이 맞는걸까? 나름 열심히 이곳저곳을 찾아다닌 결과 내린 나의 결론은
위 내용은 틀렸다!! 라는 것이다.

💡 ??

URI 은 인터넷에서 자원(리소스)를 식별하기 위한 이름이나 주소를 나타내는 문자열이다.
URL 은 리소스를 식별하기 위한 '주소' 이다.
URN 은 리소스를 식별하기 위한 '이름' 이다.

즉 URI의 하위개념으로 URL과 URN이 나뉘어 져 있다. URI의 부분집합 = URL, URN
다시말해 모든 URL은 URI라 불려도 상관없다. (URN도 마찬가지다)
그러나 역은 성립하지 않는다.

예를 들어 우리는 인터넷 서핑을 하다보면 다음과 같은 주소들이 브라우저 주소창에 항상 나타나 있다.

https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=105&oid=009&aid=0004585503

위 문자열은 네이버 기사중 하나의 기사를 나타내는 주소이다. URL, URI 뭐라 불러도 상관없다. 몇몇 글이나 댓글에선 쿼리스트링 이전까지만을 URL으로 보고있지만

https://developer.mozilla.org/ko/docs/Learn/Common_questions/What_is_a_URL
- MDN 사이트 -

https://en.wikipedia.org/wiki/URL
- WIKI -

참고했던 두 사이트의 링크를 건다.
이 두 문서에서 분명하게 URL의 구성요소에 Parameter(QueryString)을 포함시킨다.

🙈

적어도 나에게 있어서 사실 매우 치명적으로 중요한 내용은 아니지만, 어찌됬든 궁금했던 점을 해결하여 기분이 좋다!

profile
NOBODY

0개의 댓글