URI(Uniform Resource Identifier) : 자원을 식별하는 통일된 방식
- URL(Resource Locator)
- URN(Resource Name)
URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않아 URL을 보통 URI로 사용한다.
foo://example.com:8042/over/there?name=ferret#nose - URL
\_/ \________________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
| _____________________|__
/\ / \
urn:example:animal:ferret:nose - URN
URL
scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex ) https://www.google.com:443/search?q=hello&hl=ko
- - 프로토콜(https)
- - 호스트명(www.google.com) - 도메인명 또는 IP주소
- - 사용자정보 - 거의 사용하지 않음
- - 포트 번호(443) - 일반적으로 생략, 디폴트로 http 80, https 443
- - 패스(/search) - 경로, 계층적 구조
- - 쿼리 파라미터(q=hello&hl=ko) - key=value 형태, ?로 시작, &로 추가, 웹서버에 제공하는 파라미터, 문자형태,
- query string으로도 불림
- - fragment - html 내부 북마크 등에 사용, 서버에 전송 안함. (->자세히는 나중에)
웹 브라우저 요청 흐름