URI (Uniform Resource Identifier)
Resource: 자원, URI로 식별할 수 있는 모든 것
Identifier: 다른 항목과 구분하는데 필요한 정보
![](https://velog.velcdn.com/images/whtjsdud54/post/cdc6f456-12b1-4a6e-8719-c9651f8d1a32/image.png)
[ 전체 문법 ]
scheme://[userinfo@]host[:port][/path][?query][#fragment]
http://www.google.com:443/search?q=hello&hi=ko
https: 프로토콜
www.google.com: 호스트명
443: 포트 번호
/search: path
q=hello&hi=ko: 쿼리 파라미터
scheme
- http
- 주로 프로토콜 사용
- http: 80포트, https: 443포트를 주로 사용
- 포트는 생략 가능
- https는 http에 보안 추가
userinofo
- URL에 사용자정보를 포함해서 인증
- 거의 사용하지 않음
host
- www.google.com
- 호스트명
- 도메인명 또는 IP주소를 직접 사용가능
PORT
- 443
- 접속 포트
- 일반적으로 생략, 생략시 http: 80 https: 443
path
query
- q=hello&hi=ko
- key = value 형태
- ?로 시작, &로 추가 가능
ex) ?keyA=valueA&keyB=valueB
fragment
- html 내부 북마크 등에 사용
- 서버에 전송하는 정보가 아님
- 특정 서버 안으로 들어가는 것
[ HTTP 요청 메시지 ]
![](https://velog.velcdn.com/images/whtjsdud54/post/cc07143c-c088-410f-8f58-7bfaaeb23d7d/image.png)
[ HTTP 응답 메시지 ]
![](https://velog.velcdn.com/images/whtjsdud54/post/094348b6-fd00-4f16-b4c6-baa7c7ab817b/image.png)