[Web] URI, URL, URN
by 구설구설URI, URL, URN
URI (Uniform Resource Identifier)
- 특정한 자원의 위치나 이름을 식별하는 포괄적인 개념
- URL과 URN을 모두 포함하는 개념으로, 자원을 어떻게 접근하고 그 자원이 무엇인지를 정의한다.
- 예시: ~https://example.com~, ~urn:isbn:0451450523~
scheme://[user[:password]@]host[:port]][/path][?query][#fragment]
- 일반적인 URI의 구조
- scheme: 사용할 프로토콜
- user, password: (서버에 있는) 데이터에 접근하기 위한 사용자의 이름과 비밀번호
- host, port: 접근할 대상(서버)의 호스트명과 포트번호
- path: 접근할 대상(서버)의 경로
- query: 접근할 대상에 전달하는 추가적인 정보 (파라미터)
- fragment: 메인 리소스 내에 존재하는 서브 리소스에 접근할 때 이를 식별하기 위한 정보
URL (Uniform Resource Locator)
- 자원의 위치를 식별하는 URI의 한 유형
- 자원이 어디에 있는지(경로)와 그것에 어떻게 접근하는지(프로토콜)를 나타낸다.
- 예시: ~https://example.com/index.html~
- 여기서 ~https~는 프로토콜을, ~example.com/index.html~은 자원의 위치를 가리킨다.
URN (Uniform Resource Name)
- 자원의 이름을 식별하는 URI의 한 유형
- 자원의 위치와 상관없이 자원의 고유한 이름을 통해 자원을 식별할 수 있다.
- 따라서 자원의 위치가 변해도 자원을 식별할 수 있다.
- 예시: ~urn:isbn:0451450523~
- 이 URN은 특정 책의 ISBN을 나타내며, 이 책이 어디에 있든 고유하게 식별된다.
자원과 URI의 관계
한 자원당 여러개의 URI가 존재할 수 있다.
URI는 자원을 식별하는 방법이기 때문에 식별하는 방법에 따라서 여러 URI가 동일한 자원을 가리킬 수 있다.
또한 한 URI가 하나의 자원을 가리키는 것이 아니라 조건에 따라서 여러 자원을 접근할 수도 있다.
날씨 정보를 반환하는 https://weather.com 같은 URI는 시간에 따라서 다른 날씨 정보를 반환한다.
같은 URI더라도 모바일 환경과 데스크탑 환경에 따라 제공하는 자원이 달라지는 동적 레이아웃 또한 하나의 예시이다.
URL과 URN이 아닌 자원 식별 방법
자원을 식별할 수 있다면 무슨 형식이든지 URI에 포함될 수 있다.
따라서 위 두 방식이 아닌 새로운 자원 식별 방법이 생겨나서 채택될 수도 있다.
'Dev > Web' 카테고리의 다른 글
[Web] node.js 패키지 매니저 (npm, Yarn, pnpm, Bun) 비교하기 (0) | 2024.10.03 |
---|---|
[Web] API 주소를 하드코딩하면 생기는 문제 (0) | 2024.09.03 |
블로그의 정보
공부중임
구설구설