URL -> Resuorce Locator
리소스의 위치
URN -> Resuorce Name
리소스의 이름
URI -> Resuorce Identifier
리소스의 정체
URI는 URL과 URN을 가지고 있다.
URN의 경우 이름만 정의되어있어 매핑을 못하기 때문에 거의 쓰지 않고
URL을 많이 사용한다.
Uniform: 리소스 식별하는 통일된 방식
Resource: 모든 자원, URI로 식별할 수 있는 모든 것(제한 없음)
Identifier: 다른 항목과 구분하는데 필요한 정보
URL - Locator: 리소스가 있는 위치를 지정
URN - Name: 리소스에 이름을 부여
위치는 변할 수 있지만, 이름은 변하지 않는다.
URN은 이름만으로 리소스 위치를 찾을 수 없기 때문에 거의 사용안함.
앞으로 설명할 때 URI를 URL과 같은 의미로 이야기한다고 함.
https://www.google.com:443/search?q=hello&hl=ko
schemme://[userinfo@]host[:port][/path][?query][#fragment]
처음에 DNS 서버를 조회한다. 그러면 IP정보(200.200.200.2)를 찾아낸다. 포트는 HTTPS이므로 443이 된다.
HTTP 요청 메시지는 위처럼 생겼다. GET으로 데이터를 요청하고, path, query, http 버전 등등이 들어가게 된다.
이전 파트에서 있는 전송데이터가
이렇게 된다.
보낸다.
도착을 하게 되면 TCP 패킷을 까서 버리고 메시지를 살펴본다.
그러면 구글 서버에서 조건에 맞는 데이터를 찾는다.
그 후에 응답 메시지를 작성한다.
http 버전, 200 OK(정상응답), Content-Type(어떤 형식인가), Content-Length(길이) 등등
다시 보내
그렇게 패킷을 다시 까게 되면 이런 결과가 나오게 된다.