12 HTTP的特点
灵活可扩展
- 协议逐渐增加请求方法、版本号、状态码、头字段等特性。
- body 不再限于文本形式的 TXT 或 HTML,能够传输图片、音频视频等任意数据。
可靠传输
HTTP 协议是基于 TCP/IP 的,TCP 本身是一个可靠的传输协议。
应用层协议
拥有可携带任意头字段和实体数据的报文结构,以及连接控制、缓存代理等方便易用的特性。
请求 - 应答
请求 - 应答模式是 HTTP 协议最根本的通信模型。明确了 HTTP 协议里通信双方的定位,永远是请求方先发起连接和请求,是主动的,而应答方只有在收到请求后才能答复,是被动的,如果没有请求时不会有任何动作。
无状态
状态是客户端或服务器里保存的一些数据或标志,记录了通信过程中的一些变化信息。
TCP 协议是有状态的,一开始处于 CLOSED 状态,连接成功后是 ESTABLISHED 状态,断开连接后是 FIN-WAIT 状态,最后又是 CLOSED 状态。这些状态就需要 TCP 在内部用一些数据结构去维护。
HTTP 建立连接前两者互不知情,每次收发的报文也都是互相独立的,没有任何的联系。收发报文也不会对客户端或服务器产生任何影响,连接后也不会要求保存任何信息。
其他特点
由灵活可扩展的特点所衍生出来的:
- 传输的实体数据可缓存可压缩
- 可分段获取数据
- 支持身份认证
- 支持国际化语言