1. URI (Uniform Resource Identifier)
Uniform : 리소스를 식별하는 통일된 방식
Resource : 자원. URI로 식별할 수 있는 모든 것(제한 없음)
Identifier : 다른 항목과 구분하는데 필요한 정보
URI안에는 URL과 URN이 포함되어 있다.
URL은 Uniform Resource Locator로, 리소스가 있는 위치를 지정하며
URN은 Uniform Resource Name으로, 리소스에 이름을 부여한다.
위치는 변할 수 있지만, 이름은 변하지 않는다.
URN 이름만으로 실제 리소스를 찾을 수 있는 방법은 보편화되지 않았다.
1-1. URL 문법
URL은 위와 같은 형식으로 이루어져 있다.
1. scheme
- scheme에는 주로 프로토콜을 사용한다.
- 여기서 프로토콜이란 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙이다. http, https, ftp 같은 것들이 있다.
- http는 80포트, https는 443포트를 주로 사용하며 포트는 생략 가능하다.
2. userinfo
- URL에 사용자 정보를 포함해서 인증한다.
- userinfo는 거의 사용하지 않는다.
3. host
- 호스트명
- 도메인명 또는 IP 주소를 직접 사용할 수 있다.
4. port
- 접속포트
- 일반적으로 생략한다.
5. path
- 리소스 경로
- 계층적 구조로 이루어져 있다.
6. query
- key=value 형태로 이루어져 있다.
- ?로 시작하고, &로 추가한다.
- query parameter, query string 등으로 불린다.
7. fragment
- html 내부 북마크 등에 사용한다.
- 서버로 전송되는 정보가 아니다.
2. 웹 브라우저 요청 흐름
우선 google.com에 해당하는 DNS 서버를 조회한다.
그리고 웹브라우저에서 HTTP 요청 메시지를 생성한다.
HTTP 메시지가 전송되는 과정은 위와 같다.
웹브라우저에서 HTTP 메시지가 생성되면 이를 SOCKET 라이브러리를 통해 OS에 전달하고 OS에서 TCP/IP 패킷이 생성된다. 이 패킷에는 HTTP 메시지, 출발지 IP와 PORT 정보, 목적지 IP와 PORT 정보 그리고 전송 데이터 등이 포함된다.
웹브라우저에서 생성된 이 요청 패킷을 서버에 전송한다.
요청 패킷을 전달받은 서버는 다시 웹브라우저에게 응답 패킷을 전달한다.
마지막으로 웹브라우저에서 HTML 렌더링이 이루어진다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] 인터넷 네트워크(IP, TCP, UDP, PORT, DNS) (0) | 2022.02.25 |
---|