<HTTP>
- 웹 서비스에서 사용하는 전 세계적으로 가장 많이 사용하는 application protocol
- Hyper Text를 전송하기 위한 약속(HTML: Hyper Text Markup Language를 전달하기 위한 프로토콜)
* Hyper Text : 비 순차적 text
- 초기 목적은 정보의 교환
- 요청(Request)와 응답(Response)으로 작동한다.
[Host] --- HTTP Request ---->[Server]
[Host] <--- HTTP Response ---[Server]
* HTTP Response : 메시지 기반(메시지를 만들어서 하나 던지고 그 다음 던지고...), 단위(규격)이 있다.
--> 전송 계층으로 TCP를 사용하므로 그 메시지의 크기가 크다면 TCP에서 쪼개서 보낸다.(HTTP는 분할하지 않음)
* HTTP 1.0 vs HTTP 1.1
<HTTP 1.0>
1. 3-way connection
2. HTTP Request(index.html 달라..)
3. HTTP Response(index.html)
4. 4-way(연결끊음)
5. 3-way connection
6. HTTP Request(a.jpg 달라..)
7. HTTP Response(a.jpg)
8. 4-way(연결끊음)
...
- 단순하지만 네트워크 혼잡이 발생할 수 있다.
<HTTP 1.1> : 하나의 세션으로 그 페이지에서 필요한 모든 것을 받아올 수 있음
1. 3-way connection
2. HTTP Request(index.html 달라..) + connection : keep-Alive
3. HTTP Response(index.html) + 연결 안끊음
4. HTTP Request(a.jpg 달라..) + connection : keep-Alive
5. HTTP Response(a.jpg) + 연결 안끊음
...
4-way(연결끊음)
- multiple request 처리 가능
- 하나의 ip로 여러 웹페이지 관리 가능 : 가상호스트 (ex : 웹 호스팅 업체)
* 가상호스트 : 하나의 ip로 여러 웹사이트 관리
==> HTTP 1.1이 더 효율적