개발/CS

URL vs URI

용꿀 2023. 1. 27. 00:47

REST API에 대해 공부하다 보니 URI라는 새로운 단어를 접하게 되어서 URI의 개념과 우리가 흔히 잘 아는 URL의 차이가 무엇인가에 대해 알아보고자 한다.

1. URI란?

URI는 Uniform Resource Indentifier의 약자로, 우리말로 ‘통합 자원 식별자’이다.

Uniform은 리소스를 식별하는 통일된 방식을 의미하고, Resource는 URI로 식별이 가능한 모든 종류의 자원(웹 브라우저 파일 및 그 이외의 리소스 포함)을 지칭한다. 마지막으로 Identifier는 다른 항목과 구분하기 위해 필요한 정보를 말한다.

즉, URI는 인터넷 상의 리소스 “자원 자체”를 식별하는 고유한 문자열 시퀀스이다.

 

2. URL이란?

URL은 Uniform Resource Locator의 약자로 네트워크에서 특정 통합 자원(리소스)의 "위치"를 나타내기 위한 규약을 말한다.

웹 사이트 주소뿐만 아니라 컴퓨터 네트워크 상의 자원을 모두 나타내는 표기법으로, 특정 웹 페이지의 주소에 접속하기 위해서는 웹 사이트의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 접속이 가능한데, 이들을 모두 나타내는 것이 URL이다. (웹 사이트 주소 + 컴퓨터 네트워크 상의 자원)

 

3. URL과 URI의 구조

URI와 URL의 구조를 위의 그림처럼 크게 세 파트로 나눌 수 있다.

  • Scheme : 리소스에 접근하는 데 사용할 프로토콜, 웹에서는 http 또는 https를 사용
  • Host : 접근할 대상(서버)의 호스트명
  • Path : 접근할 대상(서버)의 경로에 대한 상세 정보

참고로, 경로(Path)에 해당하는 부분은 URN(Uniform Resource Name)이라고 하며 프로토콜, 리소스의 위치, 호스트 등에 상관없이 문서 자체를 나타냅니다 

4. URL vs URI

"URI = 식별자, URL = 식별자 + 위치"

익숙한 예를 들어 설명해보겠다.

"naver.com"은 URI이다. "naver.com"이라는 리소스의 이름만을 나타내기 때문이다.

반면에 "https://naver.com"은 URL이다. 이름뿐만 아니라 프로토콜 "https"를 포함하여 어떻게 해당 리소스에 도달할 수 있는지 위치까지 함께 나타내기 때문이다.

1) URL은 일종의 URI이다.

 

모든 URI가 URL인건 아니지만, 모든 URL는 URI이다. 즉, URI가 더 포괄적인 개념이라고 볼 수 있겠다.

특정 리소스의 위치를 알기 위한 정보에는 무조건 식별자가 포함되기 때문이다.

2) URL은 프로토콜과 결합된 상태이다.

프로토콜(protocol)이란 리소스에 접근하는 방법을 지정하는 방식이다.

일반적으로 웹에서는 https 또는 http를 사용하며 그 외에 ftp 또는 file 등이 여기에 해당할 수 있다.

어떻게 위치를 찾고 도달할 수 있는지까지 포함되어야 하기 때문에 URL은 프로토콜 + 이름(또는 번호)의 형태여야만 한다.

위의 3번 항목에서 URL와 URI의 구조에 대한 그림을 확인하면 더 쉽게 이해가 될 것이다.

3) URI는 그 자체로 이름이 될 수 있다.

URI는 그 자체로 이름(naver.com)이거나 이름 + 위치를 나타낸 형태(https://naver.com) 모두가 해당한다. 

이름 + 위치를 나타내는 URL은 위에서 설명했듯 URI의 일종이기 때문이다.

위의 3번 항목에서 URL와 URI의 구조에 대한 그림을 확인하면 더 쉽게 이해가 될 것이다.

출처

https://www.elancer.co.kr/blog/view?seq=74 

 

URI와 URL, 어떤 차이점이 있나요? | 이랜서 블로그

uri와 url, 비슷한 듯 다른 it 용어, 어떤 차이점이 있는지 확인하기 | uri url 차이, uri 뜻, uri 란, uri url urn, uri vs url

www.elancer.co.kr