URI(Uniform Resource Identifier)란?
Uniform : 리소스를 식별하는 통일된 방식
Resource : 자원을 뜻하며, URI로 식별할 수 있는 모든 것을 말합니다.(제한이 없음)
Identifier : 다른 항목과 비교할 수 있는 정보
URI, URL, URN?
URI는 로케이터(Locator), 이름(Name) 또는 둘 다 추가로 분류될 수 있습니다.
로케이터와 이름은 무엇일까요? URI는 하나의 큰 개념이 있습니다.
바로 리소스를 식별하는 것입니다. 마치 주민등록번호처럼 식별하는 방법입니다.
그 식별 방법에 따라서 URL와 URN으로 나눌 수 있습니다.
- URL(Uniform Resource Locator)은 리소스의 위치를 통해 자원을 식별한다.
- URN(Uniform Resource Name)은 리소스의 이름을 통해 자원을 식별한다.
위치는 변할 수 있지만 이름은 변하지 않습니다. 하지만 URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았습니다.
웹 브라우저 요청 흐름
구글에 hello라고 검색을 했다고 한다면, 웹 브라우저에서 HTTP 요청 메시지를 생성합니다.
요청 메시지는 https://www.google.com:443/search?q=hello&hl=ko 라는 메시지를 생성하게 되고
GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com
이라는 형태로 메시지가 만들어집니다.
애플리케이션 계층에서 메시지를 위와 같이 생성하게 되고, SOKET 라이브러리를 통해 데이터를 전달하기 위해서
TCP 3 Way handshake를 통해 SYN, ACC를 하여 서버와 임시 연결을 만들게 됩니다.
연결이 Connect되면 TCP/IP 패킷에 웹 브라우저가 생성한 HTTP 메시지를 포함하여 서버에 전송하게 됩니다. 서버에서 패킷을 전송 받으면 같은 동작을 하여 웹브라우저에게 응답 패킷을 전송하게 됩니다. 웹 브라우저에서는 응답을 받은 패킷을 보고 HTML 렌더링을 실행하여 사용자는 브라우저를 통해서 원하는 결과를 얻게 됩니다.
'Study > 네트워크' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 지식] HTTP 기본 (0) | 2022.03.10 |
---|---|
[모든 개발자를 위한 HTTP 웹 지식] IP, TCP, UDP, PORT, DNS (0) | 2022.03.07 |