일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TypeScript
- coding
- webpack
- Servlet
- JavaScript
- 변수
- github
- 자바
- CSS
- git
- node.js
- node
- 프론트엔드
- 자바문제풀이
- max-width
- 반응형 페이지
- react-router-dom
- redux
- @media
- 그럼에도 불구하고
- JS
- 그럼에도불구하고
- HTML
- react
- cleancode
- frontend
- media query
- java
- 코드업
- 코딩테스트
- Today
- Total
그럼에도 불구하고
URI / URL / URN 이란 무엇인가 본문
오늘은 URI / URL / URN의 차이를 알아보자
대부분의 사람들은 URI와 URL을 혼용해서 사용하고 있다.
하지만, 이는 엄밀히 말하면 다르다.
위의 사진에서 볼 수 있듯이, URI는 URL과 URN을 포함하고 있다.
이들의 각 뜻은 다음과 같이 정의할 수 있다.
URI (Uniform Resource Identifier) : 자원의 식별자
URL (Uniform Resource Locator) : 자원의 위치
URN (Uniform Resource Name) : 이름
[ URI ]
- 통합 자원 식별자 (Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소이다.
- URI의 존재는 인터넷에서 요구되는 기본 조건으로서 인터넷 프로토콜에 항상 붙어 다닌다.
- URI의 하위개념으로 URL, URN이 있다.
[ URL ]
- URL (Uniform Resource Locator, 문화어: 파일 식별자, 유일자 원지 시기)은 네트워크 상에서 자원이 어디 있는지 알려주기 위한 규약이다.
- 즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조이다.
- 흔히 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다.
[ URN ]
- URN(Uniform Resource Name, 통합 자원 이름)은 urn:scheme을 사용하는 URI를 위한 역사적인 이름이다.
- URN은 영속적이고, 위치에 독립적인 자원을 위한 지시자로 사용하기 위해 1997년도 RFC 2141 문서에서 정의되었다.
[ URL / URI / URN 실제 비교 ]
http://zenghyun.org:7521/main?id=HTML&page=5
http : protocol
zenghyun.org : host(domain)
7521: host(domain)
main: path
id=HTML&page=5 : query string
위의 내용을 통해 URI와 URL의 차이를 정리해보자면
http://zenghyun.org:7521/main : 여기까지는 URI이면서 URL
http://zenghyun.org:7521/main?id=HTML&page=5 : 이건 URI라고 할 수 있다. (URL X)
왜냐면 URL은 자원의 위치를 나타내 주는 것이고 URI는 자원의 식별자인데, ?id=HTML&page=5 이 부분은 위치를 나타내는 것이 아니라 id값이 HTML이고 page가 5인 것을 식별하는 부분이기 때문이다.
그래서 보통 http://zenghyun.org:7521/main?id=HTML&page=5 이런 주소를 통상적으로 URL이라고 얘기하지만 정확하게는 URI라고 하는 것이 맞다.
[ 자원의 위치 / 자원의 식별자 ]
인터넷 상의 자원의 위치와 자원의 식별자는 언뜻 보면 같은 것을 의미한다고 생각할 수 있다.
하지만, '자원의 위치'라는 것은 결국 '하나의 파일 위치'를 나타내는 것임을 명심하자.
'이모저모 > 개발 이모저모' 카테고리의 다른 글
SaaS(Sortware as a Service)가 뭐죠? (2) | 2023.10.17 |
---|---|
www.naver.com을 주소창에 치면 무슨 일이 일어나나요? (0) | 2023.09.15 |
Git commit message는 어떻게 작성해야 할까? (0) | 2023.06.30 |
Http 301 / 302 Redirect의 차이 (0) | 2023.01.27 |
딥링킹(Deep linking)이란? (0) | 2023.01.09 |