2023. 6. 11. 23:34ㆍ네트워크

uri = url + urn으로 구성되어 있다.

uri는 Uniform Resource Identifier 약자로 리소스를 식별하는 정보를 말하
url은 Uniform Resource Locator의 약자로 리소스를 식별하는 위치,
urn은 Uniform Resource Name의 약자로 리소스를 식별하는 이름을 말한다.
urn은 잘 사용하지 않으므로 있다는 정도만 기억해두고 uri와 url를 동일하게 생각하겠다.

url의 문법을 보면

프로토콜, 호스명, 포트번호, 패스, 쿼리 파라미터로 구성되어 있다.
scheme은 주로 프로토콜을 사용한다. 위에 예시에서는 https이다.
userinfo는 사용자정보를 포함해서 인증하는 거인데 거의 사용하지 않는다.
host는 호스트명으로 도메인명 또는 ip주소를 직접 사용한다. 위의 예시에서는 www.google.com 이다.
port는 접속 포트로 위의 예시에는 443이다. 사용시 일반적으로 생략한다.
path는 경로이다. 계층적 구조로 위의 예시에서는 search이다.
query는 key=value 형태로 ?로 시작하여 &로 추가하여 사용한다. 위의 예시에서는 ?q=hello&hi=ko이다.
다음으로는 웹 브라우저 요청 흐름에 대해 살펴보자

우리가 구글에 hello라고 검색하면 위와 같은 url이 생긴다. dns를 통해 ip주소를 찾아 클라이언트에서 서버로 http 요청 메시지를 생성하여 보낸다.

위의 http 요청 방식은 get 방식으로 search라는 경로에서 hello를 검색하고 언어는 한국어 http 1.1버전을 사용
호스트는 구글이라는 정보를 가지고 있다.

http 전송과정은 웹 브라우저가 http 메시지를 생성하여 소켓 라이브러리를 통해 전달 되는데 tcp/ip 패킷을 생성하여 http 메시지를 담은 후 서버에 전달되는 과정을 거친다.

1. 웹 브라우저에서 요청 패킷을 서버로 전달한다.
2. 서버에 요청 패킷이 도착한다.
3. 서버에서 http 응답 메시지를 만든다.
4. 서버에서 응답 패킷을 클라이언트로 전달한다.
5. 클라이언트에 응답 패킷이 도착한다.
6. 웹 브라우저에서 html로 렌더링한다.
'네트워크' 카테고리의 다른 글
| 캐시와 조건부 요청 정리 (0) | 2023.06.19 |
|---|---|
| postman을 통한 http 메시지 다루기 (0) | 2023.06.19 |
| http 기본 (0) | 2023.06.12 |
| 인터넷 네트워크 정리- ip, tcp, udp, port, dns (0) | 2023.06.11 |