URI
URI 단어 의미
URI : Uniform Resource Identifier
- Uniform : 리소스를 식별하는 통일된 방식
- Resource : URI로 식별할 수 있는 모든 것
- Identifier : 다른 항목과 구분하는데 필요한 정보
URN, URL

- URL : resource가 존재하는 위치
- URN : resource 그 자체

- URN만으로는 실제 리소스를 찾을 수 있는 방법이 보편화되지 않아, 거의 사용되지 않음
- 따라서 URL과 URI를 거의 비슷한 의미로 사용
URL 문법

- schema : 주로 프로토콜 사용
- schema에 따라 port번호를 생략할 수 있다.(http:80, https:443)
- userinfo : URL에 사용자 정보를 포함해 인증
- 거의 사용 X
- host : 호스트명, 도메인명 또는 IP 주소
- port : 포트 번호
- path : 리소스 경로
- 보통 계층적 구조로 되어있는 경우가 많다.
- query : key-value 형태로 값을 넘겨주는 역할
- query parameter, query string이라고 불린다.
- ?로 시작, &로 추가가 가능하다.
- fragment : html 내부에서 북마크를 지정해서 이동될 때 사용
웹 브라우저 요청 흐름
- DNS 조회를 통해 IP를 가져온다.
- 생략된 port 정보를 가져와 HTTP 요청 메세지 생성
- TCP 3-way handshake을 통해 서버와 연결
- HTTP 메세지를 TCP/IP 패킷을 통해 서버에 HTTP 데이터 전달
- 서버에서는 요청에 대한 결과를 HTTP 메세지로 만들어 TCP/IP 패킷을 통해 클라이언트에 전달
- HTTP 메세지 내부에 있는 HTML 데이터를 전달 받아 웹에 랜더링