[Network] URI와 URL의 차이점

조안나·2024년 1월 16일

Network

목록 보기
1/1
post-thumbnail

intro

인터넷을 많이 사용해 본 사람이라면 과장 조금 보태서 일억 오천 번은 들어봤을 'URL'.
요즘 네트워크 쪽을 조금씩 파먹기 하고 있는 중인데 URI가 나올때면 'URL의 큰 범위겠지!"라고 생각하면서 몇 번 흘려가면서 보았다.
그냥 흘려가면서 보는 건 용납할 수 없으니까 제대로 개념 정리를 해보자 🌟


URI (Uniform Resource Identifier)

URI (Uniform Resource Identifier) = 통합 자원 식별자
➡️ 인터넷에 있는 자원이 어디에 있는지 자원 자체를 식별하는 방법

HTTP 통신을 하는 이유는 클라이언트가 원하는 것을 주고받기 위해서다. 클라이언트가 원하는 것을 인터넷 세계에서는 resouse(자원)라고 부른다. 리소스는 텍스트로 된 문서일 수 있고, 이미지나 동영상이 될 수도 있다.

리소스는 어디에 있는지 '주소'를 갖고 있어야 한다. 그렇지 않으면 클라이언트가 요청한 리소스를 찾아내기 위해 수억, 수십억개의 리소스를 일일이 뒤져야 할지 모른다. 이 주소를 Uniform Resource Identifier, 줄여서 URI라고 부른다.


URL (Uniform Resource Locator)

URL (Uniform Resource Locator) = 통합 자원 식별자 + 위치
➡️ 네크워크 상에서 자원이 어디 있는지 위치를 알려주기 위한 규약

우리가 흔히 '사이트 URL이 뭐야?'라고 말할 때 사용하는 그 URL이다.

Resource의 정확한 위치 정보를 나타내는데, URL을 통해 Resource가 어디에 있는지 어떻게 접근할 수 있는지 알 수 있다.
흔히 우리는 URL을 웹 사이트 주소로만 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타내는 표기법이다. 그리고 해당 주소에 접속하려면 URL에 맞는 프로토콜(https, http, sftp, smp 등)을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다.


URN (Uniform Resource Name)

URN (Uniform Resource Name) = 통합 자원 이름
➡️ urn:scheme 특정 명명 체계를 사용하는 URI 유형

URL이 리소스가 어디에 있는지를 위치를 계층적으로 알려주는 것이라면,
URN은 namespace 개념을 통해 다음과 같은 방식으로 리소스에 인덱싱을 하는 것이라고 보면 된다.
즉, 리소스 위치와 상관없이 이름만으로 식별할 수 있다는 개념이다.

urn:isbn:0-486-27557-4
urn:isbn:0-395-36341-1

하지만 리소스가 이름에 매핑되어 있어야 하기 때문에 이름으로 부여하면 거의 찾기가 힘들다.
그래서 대부분 URL만 사용한다.


URI & URL 구성 표

명칭설명부분
scheme통신 (방식) 프로토콜 결정file://, http://, https://
host웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP127.0.0.1, www.google.com
:port웹 서버에 접속하기 위한 통로:80, :443, :3000
/path웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일이 위치까지의 경로/search, /Users/username/Desktop
?query리소스의 형식 범위를 좁히기 위한 추가 질문 ( key=value 형식 )id=1234
#fragmentURL이 지정하는 자원의 세부 부분을 지정할 때 ( 세부 주제를 찾을 때 )#secetion1, #top

URI / URL / URN 구분하기

URI와 URL을 쉽게 구분하는 방법은
URI는 통합 자원 식별자로 주소에 식별자가 있으면 URI
URL은 프로토콜과 결합된 형태이며 리소스 주소를 나타내므로 리소스 위치까지만 나타내면 URL
URN은 접근할 대상의 경로에 대한 상세 정보 path에 해당한다.


정리

velog.io

문자열만 있기 때문에 URI 에해당한다.

https://velog.io

문자열과 프로토콜(https://)을 가지고 있기 때문에 URL에 해당한다.

https://velog.io/@octoberjin11/posts/123

https://velog.io/@octoberjin11/posts 까지는 자원의 실제 위치이기 때문에 URI임과 동시에 URL이라고 볼 수 있고, https://velog.io/@octoberjin11/posts/123 은 식별자를 포함하므로 URL을 포함한 URI라고 볼 수 있다.


네트워크 지구 짱이 되는 그날까지 네트워크 공부는 계속됩니다 🌟


참고자료

The Real Difference Between a URL and a URI
URL 위키백과
[네트워크/기본] URI, URL 및 URN의 차이점

profile
우주 최강 프론트 짱이 되자🌟

0개의 댓글