1.HTTP协议用于客户端和服务端之间的通信
2.通过请求和响应的交换达成通信
请求报文:请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。

响应报文:协议版本、状态码、状态码的原因短语、可选的响应首部字段和实体主体构成的。

3.HTTP是不保存状态的协议
HTTP是一种不保存状态,即无状态协议。HTTP协议自身不对请求和响应之间的通信状态进行保存,不做持久化处理。 为了实现期望的保持状态功能,引入了cookie技术。管理状态。
4.请求URI定位资源
HTTP协议使用URI定位互联网上的资源。正是因为URI的特定功能,在互联网上任意位置的资源都能访问到。
5.告诉服务器意图的HTTP方法
- GET:获取资源
- POST:传输实体的主体
- PUT:传输文件
- HEAD:获得报文首部
- DELETE:删除文件
- OPTIONS:询问支持的方法
- TRACE:追踪路径
- CONNECT:要求用隧道协议连接代理
6.使用方法下达命令
向请求URI指定的资源发送请求报文时,采用称为方法的命令。
7.持久连接节省通信量
HTTP协议初始版本,每进行一次HTTP通信就要断开一次TCP连接,增加通信量的开销。 eg:发送请求访问一个包含多张图片的HTML页面资源时,也会请求该HTML页面里包含的其他资源。每次的请求都会造成无谓的TCP连接建立和断开,增加通信量的开销。
7.1持久连接
为了解决TCP连接的问题,HTTP/1.1和一部分HTTP/1.0提出了持久连接(HTTP Persistent Connections,也称为HTTP keep-alive或HTTP)
特点:只要任意一端没有明确提出断开连接,则保持TCP连接状态。 好处:减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。 在HTTP/1.1中,所有的连接默认是持久连接。
7.2管线化
持久连接使得多数请求以管线化方式成为可能。可以并行发送多个请求,不需要一个接一个地等待响应。
8.使用Cookie的状态管理
Cookie会根据从服务器端发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie,当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去。服务器端根据客户端发过来的cookie对比服务器上的记录,最后得到之前的状态信息。
- 请求报文(没有Cookie信息的状态);
- 响应报文(服务端生成Cookie信息);
- 请求报文(自动发送保存着的Cookie信息)。
没有Cookie信息状态下的请求

第2次以后(存有Cookie信息状态)的请求
