URI vs URL vs URN
- URI 는 Locator, Name 또는 둘 다로 분류 될 수 있다.
- URI 라는 가장 큰 개념 안에 URL과 URN이 속해있다.
- URL - Locator : 리소스가 있는 위치를 지정
- URN - Name : 리소스에 이름을 부여
- 위치는 변할 수 있지만, 이름은 변하지 않음.
- URN 이름만으로 실제 소스를 찾을 수 있는 방법이 보편화 되지 않아서 사용하지 않음.
URL 분석
- schema://[userinfo@]host[:port][/path][?query][#fragment]
schema
- 주로 프로토콜 사용.
- 프로토콜? : 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙(http, https, ftp 등)
- http는 80포트, https는 443포트를 주로 사용, 포트는 생략 가능
- https는 http에 보안 추가 (HTTP Secure)
host
- 호스트명.
- 도메인명 또는 IP 주소를 직접 사용 가능.
PORT
- 접속 포트.
- 일반적으로 생략. (생략시 http는 80, https는 443)
path
- 리소스 경로(path), 계층적 구조.
- /home/file1.jpg
- /members
- /members/100, /item/iphone13
query
- key=value 형태.
- ?로 시작, &로 추가 가능. (?keyA=valueA&keyB=valueB)
- query parameter, puery string 등으로 불림, 웹 서버에 재공하는 파라미터. (문자형태)
fragment.
- html내부 북마크 등에 사용
- 서버에 전송하는 정보는 아니다.
http://www.google.com:443/search?q=hello&hl=ko
- 프로토콜 : https
- 호스트명 : www.google.com
- 포트번호 : 443
- 패스(Path) : /search
- 쿼리 파라미터 : q=hello&hl=ko