1. HTTP报文
请求报文
由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成。
请求报文.png
响应报文
由协议版本、状态码和解释状态码的原因短语、可选的相应首部字段和资源实体主体构成。
响应报文.png
2. HTTP协议是无状态协议
定义
HTTP协议自身不对请求和响应之间的状态进行保存,使用 HTTP 协议,每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或响应报文的信息。
作用
保证了HTTP协议更快的处理大量事务,确保协议伸缩性。
3. HTTP方法(仅列举HTTP1.1支持的方法)
- GET 获取资源
- POST 传输实体主体
- PUT 传输文件
- HEAD 获取报文首部
- DELETE 删除文件
4. 节省通信量
持久连接
在早期HTTP协议中,每进行一次HTTP通信则断开一次TCP连接,这样在请求一个界面的多个资源时,会增加通信量;持久连接的特点是:在客户端和服务器端没有明确说明断开连接时,保持TCP连接。这样做有利于减少通信成本,提升响应速度。
管线化
在持久连接的基础上,可以实现管线化的形式通信。管线化支持并行发送请求,而不用一次一次等待响应。
5. Cookie
由于HTTP的无状态特征,在某些需要登录的Web界面,在对界面进行刷新或跳转时,不能保留用户的登录信息,因此引入Cookie技术。
Cookie在通信过程中的作用:
- 在客户端和服务器第一次通信时,服务器会在发送的响应报文中返回一个set-Cookie的首部字段信息;
- 客户端接收响应,并把cookie值保存在客户端;
- 第二次通信时,客户端将cookie加入在请求报文中传给服务器端;
-
服务器端接收到请求报文,会根据cookie值查找是哪一个客户端发送过来的请求,对比服务器记录,得到对应状态信息。
第1次通信.png
第2次以后的通信.png
网友评论