Uniform Resource Identifier
리소스를 식별하는 통일된 방식
자원, URI로 식별 할 수 있는 모든 것(제한 없음)
다른 항목과 구분하는데 필요한 정보
locator 또는 name 혹은 둘다 추가루 분류 될 수 있다. 가장 큰 범주.
리소스의 위치
리소스의 이름
이러한 주소가 있을때 이 주소가 URL이다.
foo://example.com:8042/over/there?name=ferret#nose
URN은 리소스 네임이다. 이 주소에 이름을 부여해준것이다.
문제는 찾기가 너무 어렵다. 그래서 앵간하면 URL만 쓴다.
https://www.google.com:443/search?q=hello&hl=ko
각각 구글의 URL, 구글에서 Hello를 검색한 URL이다.
scheme://[userinfo@]host[:port][/path][?query][#fragment]
이를 구조별로 나눠보면 다음과 같다.
GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com
HTTP 메세지 생성
SOCKET 라이브러리 통해 전딜
TCP/IP 패킷 생성, HTTP 메세지 포함
랜 드라이버, 랜 장비를 통해 연결
패킷 생성
요청을 받으면 소켓을 전부 버리고 http 메세지를 해석한다.
응답메세지를 만들어서 보내준다.
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423
<html>
<body>...</body>
</html>