URI와 웹 브라우저 요청, 응답 흐름
URI( Uniform Resource Identifier : 통합 자원 식별자)
URI는 Locator, Name 또는 둘다 추가로 분류될 수 있다.
URI > URL, URN ( URI에 포함되는 개념들 )
=> https://www.google.com:443/search?q=hello&hl=ko
=> scheme://[userinfo@]host[:port][/path][?query][#fragment]
scheme
주로 프로토콜 사용 (어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙)
userinfo
URL에 사용자정보를 포함해서 인증
거의 안씀
host
도메인명, IP 주소를 입력
port
생략가능
path
리소스 경로, 계층적 구조
query
key=value 형태
?로 시작, &로 추가
fragment
html 내부 북마크
웹 브라우저의 요청 흐름
https://www.google.com:443/search?q=hello&hl=ko
1. DNS 조회 ( www.google.com:443= 200.200.200.2 )
2. HTTP 요청 메세지 생성 ( GET/search?q=hello&hl=ko HTTP/1.1 Host: www.google.com )
3. TCP/IP 를 통해 출발, 목적지 위치 정보를 씌워 서버로 요청
4. 서버에서 전달받은 요청 메세지의 TCP/IP 껍질을 벗겨내 핵심 요청 정보 확인
5. HTTP 응답 메세지 생성
6. TCP/IP 를 통해 출발, 목적지 위치 정보를 씌워 클라이언트로 응답
7. 서버에서 전달받은 응답 메세지의 TCP/IP 껍질을 벗겨내 핵심 응답 정보 확인