728x90
반응형
URI란?
- URI는 Uniform Resource Identifier의 약자로, 통합 자원 식별자로 불린다.
- URI는 인터넷에 있는 자원을 나타내는 유일한 주소이다.
- URI는 인터넷에 붙어다니는 기본 조건으로, 인터넷 프로토콜에 붙어다닌다.
- URI의 하위 개념으로 URL과 URN이 존재한다.
URI는 다음과 같은 형태를 띄게 된다.
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
URI와 구성 부분은 다음과 같이 나온다.
hierarchical part
┌───────────────────┴────────────────────┐
authority path
┌───────────────┴──────────────┐┌───┴────┐
abc://username:password@example.com:123/path/data?key=value#fragid1
└┬┘ └───────┬───────┘└────┬─────┘└─┬┘ └───┬────┘└───┬──┘
scheme user information host port query fragment
urn:example:mammal:monotreme:echidna
└┬┘ └──────────────┬───────────────┘
scheme path
기본적인 저의 블로그의 주소는 https://podory.tistory.com/
만일 / 뒤에 숫자를 붙이면, 저의 블로그 게시물에서 숫자 번째의 게시물에 접근하게 된다.
ex) https://podory.tistory.com/14 를 검색하면 14번째 게시물로 이동하게 된다.
URL이란?
- URL은 Uniform Resource Locator의 약자로, 자원 위치 지정자로 불린다.
- 각각의 유효한 URL은 고유한 리소스를 가리킨다.
- URL은 웹 상의 주소를 나타내는 문자열이기 때문에 더 효율적으로 리소스에 접근하기 위해 클린한 URL 작성을 위한 방법론들이 생겨났는데 REST API도 그 중 하나이다.
URL의 구성
URL의 기본 구조는 다음과 같다.
- Scheme(스키마)
- URL의 시작 부분으로, 리소스를 요청할 때 필요한 프로토콜을 나타낸다.
- 주로 HTTP, HTTPS, FTP, SMTP 프로토콜을 사용한다.
- Authority(권한)
- 리소스가 위치한 서버의 도메인이나 ip인 host와, port로 구성되어 있다.
- 프로토콜과 구분하기 위해 $://$로 구분한다.
- 일반적으로 도메인(http://example.com)과 포트(80)이 포함되며, 포트는 생략이 가능하다.
- 포트는 서버에서 리소스에 접근하기 위한 특정 포트 번호를 내는데, 일반적인 포트(HTTP는 80, HTTPS는 443)이 사용될 경우엔 일반적으로 생략이 가능하나 그렇지 않으면 필수적으로 사용해야 한다.
- Path(경로)
- 서버 내에 있는 리소스의 위치를 가리킨다.
- 파일 경로, 웹 페이지의 경로 등이 이에 해당합니다. "/path/to/myfile.html"와 같이 표현된다.
- 요즘에는 대부분 물리적 실체가 없는 웹 서버가 추상적으로 처리한다.
- Parameters(매개변수)
- Query(쿼리) 라고도 불리며, 리소스에 대한 추가적인 정보를 제공한다.
- "?" 뒤로 시작하여 key-value 형태로 표시되고, "&"로 구분한다.
- 선택적 요소이다.
- Anchor(프래그먼트)
- 문서나 리소스 내에서 특정 위치로 이동할 때 사용되며, 일종의 책갈피 역할을 한다.
- 주로 웹에서 특정 지점으로 이동하는 것을 의미한다.
- "#" 뒤에 특정 ID나 위치를 나타내며, 서버로 전송되지는 않는다.
절대 URL과 상대 URL
- 절대 URL
- 완전한 주소를 포함하는 URL로, 리소스가 어디에 있는지를 정확하게 지정한다.
- 프로토콜(https://), 호스트(도메인), 리소스의 경로 등을 포함한다.
- http://www.example.com/path/to/myfile.html 이 그 예시이다.
- 상대 URL
- 기준 위치를 기반으로 한 상대적인 주소를 가진 URL이다.
- 현재 문서나 위치를 기준으로 리소스의 상대적인 경로를 제공한다.
- 예를 들어, http://www.example.com/path 라는 경로에 to라는 폴더 말고 about이라는 폴더가 있다 가정한다.
- 현재 위치가 http://www.example.com/path/to 라면 about에 접근할 때 "../about" 으로 이동이 가능하다.
- 이를 절대 경로로 나타내면 http://www.example.com/path/about 로 이동하는 것이 된다.
URN이란?
- URN은 Uniform Resource Name의 약자로, 자원 식별자로 불린다.
- http와 같은 프로토콜을 제외한 리소스의 Name을 가리킨다,
- URN에는 리소스 접근방법과, 웹 상의 위치가 표기되지 않는다.
- 물리적으로 정보가 바뀌더라도 해당 정보에 대한 URN은 일정하게 유지된다.
- 일반적으로 접두사 "urn:"이 붙는다.
- 실제 자원을 찾기 위해서는 URN을 URL로 변환하여 이용한다.
- ISBN(International Standard Book Number)은 책을 고유하게 식별하기 위한 URN의 한 예 이다.
URL과 URN의 차이
- URL
- 프로토콜을 포함한다.
- 어떻게 리소스를 얻을 것이고 어디에서 가져와야하는지 명시하는 URI이다.
- URN
- 프로토콜을 포함하지 않는다.
- 리소스를 어떻게 접근할 것인지 명시하지 않고 경로와 리소스 자체를 특정하는 것을 목표로하는 URI이다.
정리
- URI 는 네트워크 상 자원을 가리키는 일종의 고유 식별자(ID) 이다.
- URI의 하위 구성은 URI와 URN이 있다.
- URL은 자원의 위치, URN은 자원의 이름을 의미한다.
- URL은 리소스의 위치를 명시하는 URI로, 'URL은 URI다.' 성립하지만, 'URI는 URL이다.' 는 성립하지 않는다.
출처 : 통합 자원 식별자 - 위키백과, [네트워크📶] URI 란 ? / URI VS URL VS URN 차이 /, [네트워크/기본] URI, URL 및 URN의 차이점, URL이란?
728x90
반응형
'개념정리 > 네트워크' 카테고리의 다른 글
[네트워크] API란 무엇인가 (1) | 2024.01.09 |
---|---|
[네트워크] WWW란? (1) | 2023.11.22 |
[네트워크] HTTP란? (0) | 2023.11.22 |