본문 바로가기
Study/WEB

URI, URL, URN의 차이점

by Becoming a Hacker 2022. 8. 17.
반응형

URI, URL, URN은 비슷한 이름만큼 헷갈리는 개념입니다. 간단히 설명하자면 URI은 URL과 URN을 포함하는 상위 개념입니다.

URI, URL, URN

 

URI (Uniform Resource Identifier)

URI는 "네트워크 상에서 리소스를 식별하기 위한 주소" 입니다.

 

네트워크 상에서 리소스를 식별할 수 있는 모든 주소가 URI이기 때문에 URL과 URN은 자동으로 URI에 포함됩니다.

 

URL (Uniform Resource Locator)

URL은 "네트워크 상에서 리소스의 위치를 나타내는 주소" 입니다.

 

과거에는 사용되는 주소가 리소스의 위치를 나타내는 URL을 주로 사용하였지만, 최근에는 Rewrite 또는 URI Pattern 매칭을 통해 실행되는 서비스(REST 서비스) 등이 새로 생겨나면서 URL 보다는 URI 형식의 주소가 많이 사용되고 있습니다.

 

예시를 통하여 URI와 URL을 구분해보도록 하겠습니다.

1. https://hacksms.tistory.com

특정 서버의 위치를 가르키고 있기 때문에 URL이면서 URI 입니다.

 

2. https://hacksms.tistroy.com/users (실제 폴더 존재)

특정 서버의 users 폴더를 가르키고 있기 때문에 URL이면서 URI 입니다.

 

3. https://hacksms.tistroy.com/users/index.html 

특정 서버의 users 폴더 내 index.html 파일을 가르키고 있기 때문에 URL이면서 URI 입니다.

 

4. https://hacksms.tistroy.com/users/1

특정 서버의 users 폴더가 존재하고 있기 때문에 https://hacksms.tistroy.com/users 까지는 URL이지만 "1"의 경우 파라미터로 사용되는 식별 값이기 때문에 https://hacksms.tistroy.com/users/1 는 URI 입니다.

 

5. https://hacksms.tistroy.com/users (실제 폴더 존재X)

특정 서버에는 users라는 폴더가 존재하지 않기 때문에 리소스 위치를 나타낸다고 볼 수 없습니다. 그렇기 때문에 URI에만 해당됩니다.

 

저는 실제 자원의 존재 유무에 따라 URI와 URL로 구분될 수 있다라고 이해했습니다. 혹시 이 개념이 잘못되거나 더 정확한 개념을 알고 계신 분들은 훈수 부탁드립니다.

 

URN (Uniform Resource Name)

URN은 "네트워크 상에서 리소스를 영구적으로 식별할 수 있는 이름을 나타내는 주소" 입니다.

 

https://hacksms.tistory.com/data.png 라는 URL을 통해 접근할 수 있는 data.png 파일이 data2.png로 변경된다면, 기존의 URL로는 접근을 할 수 없었습니다. URN은 URL의 이러한 단점을 극복하기 위해 등장했습니다.

 

URN은 다음과 같은 형식을 가지고 있습니다.

urn:namespace:string for namespace (ex: urn:sms:hacksms)

반응형

댓글