URI와 URL

URL(Uniform Resource Locator)과 URI(Uniform Resource Identifier)은 웹에서 리소스를 식별하는 데 사용되는 용어다.

🍅 둘 다 리소스를 가리키는 문자열로 생각할 수 있지만, 약간의 차이점이 있다.

  • URI는 리소스의 고유 식별자로서, 리소스의 위치, 이름 또는 두 가지의 조합으로 구성될 수 있다.
    즉, URI는 리소스를 식별하기 위한 일반적인 개념으로, URI는 더 넓은 범위의 개념이기 때문에 URL도 URI에 포함된다.
  • URL은 URI의 하위 집합으로 URL은 리소스의 위치를 나타내는 특정한 형식의 문자열이다.
    즉, URL은 리소스의 주소로 생각할 수 있고, URL은 프로토콜(예: HTTP, FTP)을 포함하여 도메인 이름 또는 IP 주소, 경로 등으로 구성될 수 있다.

모든 URL은 URI이지만 모든 URI가 URL은 아니다.

🍕 URL은 리소스의 위치를 명시적으로 지정하는 반면, URI는 리소스를 식별하기 위한 일반적인 개념이며, 리소스의 위치 이외의 다른 방식으로도 식별될 수 있다.


예를 들어, 다음은 URI의 예시로 다음과 같은 예를 들 수 있다.
- urn:isbn:0451450523 (책의 ISBN을 식별하는 URN)
- mailto:example@example.com (이메일 주소를 나타내는 URL 형식의 URI)


다음은 URL이면서 동시에 URI이다.
https://www.example.com/index.html (웹 페이지의 주소를 나타내는 URL)
- ftp://ftp.example.com/files/file.txt (FTP 서버의 파일 위치를 나타내는 URL)

 

URI의 구성 : scheme, hosts, url-path, query, bookmark

URL의 구성 : scheme, hosts, url-path 

🍘 웹 브라우저에 나타나는 주소는 URI이다.

 

URL의 예시

http://localhost:8080/static/home_image.png

🌕 URL은 실제 자원의 위치(home_image.png) 가 명시된다.

 

URI의 예시

http://localhost:8080/post?search=javascript

🌕 URI는 정보를 찾기위해서 사용되는 식별자(?search=javascript)를 포함한다.

http://localhost:8080/post 까지는 URL이라고도 볼 수 있다. (사이트의 도메인 주소)


🥨 URL은 특정한 위치를 가리키는 URI의 한 형태다.