수정 보완 중에 있습니다… 🙏 그래도 의견 있으시면 주세요.
⚡️ URI과 그 하위 개념 URL, URN 개념 이해하기
❗️URI 이란?
- URI는 Uniform Resource Identifier, 통합 자원 식별자의 줄임말이다.
브라우저의 검색창을 클릭하면 나타나는 주소가 URI이다. (URI는 인터넷의 자원을 식별할 수 있는 문자열을 의미한다. 그 중 URL이라는, URN이라는 하위 개념을 만들어서 특별히 어떤 표준을 지켜서 자원을 식별하는 것이다.)
- 인터넷에 있는 자원을 나타내는 유일한 주소이다. (URL이 존재하기 전 표준 없었을 때는 개발자들이 다양한 방식의 URI 형식을 만들어서 사용하였음)
URI는 scheme, hosts, url-path에 더해 query, bookmark를 포함한다. (Query가 들어갔다고 URL이 아니지 않다.)
- URI의 하위 개념으로 URL과 URN이 있다.
- 그래서 결론은 URI라는 개념은 어떤 형식이 있다기 보다는 특정 자원을 식별하는 문자열을 의미한다. 그래서 URL이 아니고 URN도 아니면 그냥 URI가 되는 것이다.
👉 URI의 구성 (URI의 구성요소라기 보다는 URL의 구성요소, 왜냐하면 URN은 다른 형식임)
- scheme(가장 먼저 작성) : 통신 방식(프로토콜)을 결정한다. 일반적인 웹 브라우저에서는 http(s)를 사용한다.
- hosts : 웹 서버의 이름, 도메인, IP를 사용하며 주소를 나타낸다.
- url-path : 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다.
- query는 웹 서버에 보내는 추가적인 질문이다.
위 그림의 http://www.google.com:80/search?q=JavaScript
를 브라우저의 검색창에 입력하면,
구글에서 JavaScript를 검색한 결과가 나타난다.
❗️URL 이란?
- URL은 Uniform Resource Locator의 줄임말이다.
- URL은 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다.
URL은 scheme, hosts, url-path까지만 포함한 것이다. (URL이 Query를 포함할 수도 있다. 특정한 자원의 위치를 가리킨다는 것이 URL의 특징이다. 해당 위치의 리소스를 가리키면서 동시에 질의를 보낼 수도 있는 것이다.)
- URL은 FTP, SMTP 등 다른 프로토콜에서도 사용할 수 있다.
- URL은 웹 상의 주소를 나타내는 문자열이기 때문에 더 효율적으로 리소스에 접근하기 위해 클린한 URL 작성을 위한 방법론들이 생겨났는데 REST API도 그 중 하나이다. (파일이 존재하는 것은 아니지만 프로그램을 돌려서 결과로 만들어진 리소스를 표현한 것도 URL, 예를 들면 데이터베이스의 학생 목록 같은 것들을 자원을 URL로 정의해서 CRUD하는 REST API가 그러함, Query하여 좀 더 자원을 특정한다고 하여 URL이 아니지 않음)
👉 URL & URI 구성 표
부분 | 명칭 | 설명 |
file://, http://, https:// | scheme | 통신 프로토콜 |
127.0.0.1, www.google.com | hosts | 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP |
:80, :443, :3000 | port | 웹 서버에 접속하기 위한 통로 |
/search, /Users/username/Desktop | url-path | 웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일이 위치까지의 경로 |
q=JavaScript | query | 웹 서버에 전달하는 추가 질문 |
❗️URN 이란?
- URN은 (Uniform Resource Name)의 줄임말이다.
- URN은 URI의 표준 포맷 중 하나로, 이름으로 리소스를 특정하는 URI이다.
- http와 같은 프로토콜을 제외하고 리소스의 name을 가리키는데 사용된다.
- URN은 리소스를 영구적이고 유일하게 식별할 수 있는 URI이다.
- URN에는 리소스 접근방법과, 웹 상의 위치가 표기되지 않는다.
- URN은 리소스 자체에 부여된 영구적이고 유일한 이름이고 변하지 않는다.
- 실제 자원을 찾기 위해서는 URN을 URL로 변환하여 이용한다.
👉 URL과 URI의 차이점
- URL은 어떻게 리소스를 얻을 것이고 어디에서 가져와야하는지 명시하는 URI이다.
- URN은 리소스를 어떻게 접근할 것인지 명시하지 않고 경로와 리소스 자체를 특정하는 것을 목표로하는 URI이다.
👉 URN 예시
❗️정리
URI는 URL과 URL을 포함하는 상위개념이다.
따라서, ‘URL은 URI다.’ 는 참이고, ‘URI는 URL이다.’ 는 거짓이다.
❗️Reference
참고 : [WEB] URL, URI, URN 차이
참고 : [네트워크] URI, URL, URN
0개의 댓글