URI(Uniform Resource Identifier)
= URL(... Locator) + URN(... Name)
Uniform: 리소스를 식별하는 통일된 방식
Resource: 자원, URI로 식별할 수 있는 모든 것
Identifier: 다른 항목과 구분하는데 필요한 정보
Locator: 리소스가 있는 위치를 지정
Name: 리소스에 이름을 부여
위치는 변할 수 있지만, 이름은 변하지 않는다.
URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았다.
전체 문법
scheme://[userinfo@]host[:port][/path][?query][#fragment]
[]는 생략가능
ex) https://www.google.com/search?q=hello&hl=ko
프로토콜: https
호스트명: www.google.com
포트번호: 443(생략)
path: /search
쿼리 파라미터: q=hello&hl=ko
- userinfo
URL에 사용자정보를 포함해서 인증
거의 사용하지 않음- host
도메인명 또는 IP 주소를 직접 사용가능- PORT
포트번호, 일반적으로 생략(프로토콜에 따라 정해져있어서)- path
리소스 경로, 계층적 구조- query
key=value 형태
?로 시작, &로 추가 가능- fragment
html 내부 북마크 등에 사용
서버에 전송하는 정보 아님