통일된 자원 구분정보

URI 에는 URL과 URN이 있다. (URN은 잘 사용되지 않아서 보통 URL을 뜻함)
urn:example:animal:cat:ears:...scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=cat&hl=ko
프로토콜을 사용 (http, https, ftp)
프로토콜에 포트 정보가 포함되어 있어서 포트 부분은 생략할 수 있다.
URL에 사용자 정보를 포함해서 인증할때, 거의 사용하지 않음
호스트명, 도메인명을 사용하거나 IP 주소를 직접 사용한다
접속 포트, 일반적으로 생략함
리소스의 경로, 계층적 구조로 설계함
key=value 형태
?q=cat&hl=ko
? 로 시작해야 하고 &으로 추가한다.
html 내부 북마크, 서버로 전송되지는 않음

GET /path?q=key=value
소켓 라이브러리를 통해 OS의 TCP/IP 계층에 데이터를 전달한다.
패킷이 생성되어 전송된다.
요청 패킷이 서버에 도착하면, 서버는 HTTP 요청 메세지를 가지고 응답 데이터를 결정한다.
HTTP 응답 메세지를 생성한다.
패킷을 생성해서 전송한다.