- Uniform : 자원을 식별하는 통일된 방식
- Resource : URI로 식별이 가능한 모든 종류의 자원
- Identifier : 다른 항목과 구분하는데 필요한 정보
즉, URI는 인터넷상의 자원 전체를 식별하는 고유한 식별자이다.
아래의 사진을 보면 URI의 하위 개념으로 URL과 URN을 포함하고있다.
![](https://velog.velcdn.com/images/hsyoodev/post/12d0e12d-922f-4c8a-bd1a-0420fb1089e8/image.png)
- 자원의 위치를 나타낸다.
- 자원이 어디에 있는지 어떻게 접근할 수 있는지 알 수 있다.
URL 구조
scheme://[userinfo@]host[:port][/path][?query][#fragment]
scheme
userinfo@
- URL에 사용자정보를 포함해서 인증한다.
- 거의 사용하지 않는다.
host
- DNS 혹은 IP 주소를 직접 사용할 수 있다.
- www.google.com
- 192.168.0.123
:port
- 자주 사용하는 프로토콜의 포트는 생략할 수 있다.
- http 80. https 443, ftp 21
/path
- 자원 경로, 계층적 구조
- /home/file.jpg
- /members
- /members/100
?query
- key=value
- ?로 시작, &로 추가 가능
- query parameter, query string 등으로 불린다.
#fragment
- 자원에 식별 가능한 고유한 이름을 부여한다.
- 자원의 위치와 상관없이 이름만으로 식별할 수 있다.
URN 구조
scheme:name:name:....
예시
- urn:isbn:8960777331
- ISBNDB에서 8960777331를 검색하여 자원을 식별할 수 있다.
URI와 URL 구분하기
- 주소에 식별자가 있으면 URI
- 주소에 자원의 위치만 있으면 URL
참고자료