•
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