본문 바로가기
프로그래밍/IT지식

URI, URL, URN 차이점

by 준보틱스 2024. 6. 24.

URL / URI / URN 차이점

URI는 URL과 URN을 포함하고 있다. 즉, URL과 URN은 URI의 하위개념이다. 이들의 각 뜻은 다음과 같이 정의할 수 있다.

  • URI - 자원의 식별자
  • URL - 위치(Location)
  • URN - 이름(Name)

■ URI(Uniform Resource Identifier)

  • 인터넷에 있는 자원을 어디에 있는지 자원 자체를 식별하는 방법
  • 자원의 위치뿐만 아니라 자원에 대한 고유 식별자로서 URL의 의미를 포함한다.
  • URI의 존재는 인터넷에서 요구되는 기본조건으로써 인터넷 프로토콜에 항상 붙어다닌다.
  • URI의 하위개념으로 URL, URN이 있다.

■ URL(Uniform Resource Locator)

  • URL은 Resource의 정확한 위치 정보(파일의 위치)를 나타낸다.
  • URL을 통해 Resource가 어디에 있는지 어떻게 접근할 수 있는지 알 수 있다.
  • URL은 네트워크 상에서 자원이 어디 있는지 위치를 알려주기 위한 규약이다.
  • 흔히, 우리는URL을 웹 사이트 주소로만 알고 있지만, URL은 웹 사이트 주소 뿐만 아니라 컴퓨터 네트워크 상의 자원을 모두 나타내는 표기법이다.

※ URL 예시

※ URL 구조

- 예시(이 주소는 실제로는 없는 주소다.)
https://junbotics.tistory:3000/category?category=network&page=5#url차이
scheme host(domain) :port /path ?query #fragment
https:// junbotics.tistory :3000 /category ?category=network&page=5 #url차이

 

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

 

가장 간단한 주소로 다시 예를 들자면, https://www.naver.com 전체 주소는 URL이며, https는 프로토콜, www.naver.com은 도메인으로 분류할 수 있다.

■ URN(Uniform Resource Name)

  • 리소스의 위치와 상관없이 식별 가능한 고유한 이름 역할을 수행함
  • URN은 이름이 변하지 않는 한, 리소스 위치가 변경되더라도 문제없이 작동한다. 즉, 리소스 위치와 상관없이 이름만으로 식별할 수 있다는 개념이다.
  • 하지만 URN은 리소스가 이름에 매핑되어 있어야 하기 때문에 이름으로 부여하면 거의 찾기 힘들다. 그래서 대부분 URL만 쓴다.

■ URI 과 URL 구분하기

- 예시
http://www.naver.com/index.html?page=1232950&id=776

 

위 예시를 보면,

  • URI : https:www.naver.com/index.html?page=1232950&id=776
  • URL : https:www.naver.com/index.html

https:www.naver.com/index.html?page=1232950&id=776 이 주소의 의미는

https:www.naver.com/ 서버에 위치한 index.html 페이지는 query string인 page의 값에 따라 여러가지 화면 결과를 나타나게 된다.

이때 여기서 URL은 index.html의 위치를 표기한 https://www.naver.com/index.html 까지이다.

하지만 사용자가 원하는 정보에 도달하기 위해서는 ?page=1232950&id=776 이라는 식별자(Identifier)가 필요한 것이다.

따라서 https:www.naver.com/index.html?page=1232950&id=776 주소는 URI이고, 식별자가 빠진 https:www.naver.com/index.html 주소는 URL인 것이다.