Search
Duplicate
🌏

URI

Uniform Resource Identifier, 리소스 식별자라는 의미를 가지고 있으며 인터넷 상에서 특정 자원을 나타내는 유일한 주소다.
Uniform : 리소스를 식별하는 통일된 방식이다.
Resource : 자원, URI로 식별할 수 있는 모든 것이다.
Identifier : 다른 항목과 구분하는데 필요한 정보다.
URL과 URN으로 구성되어 있다.
URL(Locator)
리소스의 위치를 지정한다.
스키마
scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko
주로 프로토콜이 사용된다.
유저정보
scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko
URL에 사용자 정보를 포함해서 인증할 때 사용한다. 거의 사용하지 않는다.
호스트
scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko
호스트명으로 도메인명 또는 IP 주소를 직접 사용 가능
포트
scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko
접속포트, 일반적으로는 생략
경로
scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko
리소스 경로, 계층적 구조
쿼리
scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko
key : value 형태로 ?로 시작, &로 추가한다.
Query Parameter, Query String 등으로 불리며 웹서버에 제공하는 파라미터나 문자 형태다.
프래그먼트
scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-introducing-spring-boot
html 내부 북마크 등에 사용, 서버에 전송하는 정보는 아니다.
URN(Name)
리소스의 이름를 나타낸다.
위치는 변할 수 있지만 이름은 변하지 않는다.
아직은 URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않았다.
scheme :// host{:port][/path][?query] 구조로 되어있다.
ex) ftp://192.168.0.1:8080/filename.txt, http://192.168.0.1:8080/filename.txt