HTTP/2协议详解:优化HTTP语义与二进制帧

需积分: 50 38 下载量 24 浏览量 更新于2024-08-08 收藏 878KB PDF 举报
"约定和术语-横河centum+cs3000工程师手册" 本文档主要涉及的是HTTP/2协议的约定和术语,用于描述该协议的实现和交互过程。HTTP/2是一种优化过的超文本传输协议,旨在提高网络资源的使用效率,减少延迟,并引入了服务器推送等新特性。 在描述中,关键词如"MUST"、"SHALL"等遵循RFC 2119的定义,具有明确的操作要求。数字值默认采用网络字节序,无符号除非特别指出,数值可以以十进制或十六进制表示,十六进制值前缀为0x。此外,文档中定义了一些关键术语: 1. **客户端(Client)**:启动HTTP/2连接的终端,负责发送HTTP请求并接收响应。 2. **连接(Connection)**:两个终端之间的传输层连接。 3. **连接错误(Connection Error)**:影响整个HTTP/2连接的错误。 4. **终端(Endpoint)**:连接中的客户端或服务器。 5. **帧(Frame)**:HTTP/2连接中最小的通信单位,包含头部和根据帧类型组织的数据。 6. **对端(Peer)**:连接中的另一方,相对于当前讨论的终端。 7. **接收者(Receiver)**:接收帧的终端。 8. **发送者(Sender)**:发送帧的终端。 9. **服务器(Server)**:接受HTTP/2连接的终端,接收请求并发送响应。 10. **流(Stream)**:HTTP/2连接内的双向帧流,可以并发进行多个数据交换。 11. **流错误(Stream Error)**:仅影响单个HTTP/2流的错误。 HTTP/2相对于HTTP/1.1的主要改进包括: 1. **首部压缩**:通过高效的编码减少首部字段的冗余,减少网络流量。 2. **多路复用**:允许在同一TCP连接上并发处理多个请求和响应,避免队头阻塞问题。 3. **请求优先级**:支持请求优先级设置,确保重要请求更快完成。 4. **服务器推送**:服务器可以在未收到请求的情况下主动推送资源。 5. **二进制帧**:所有消息都以二进制格式传输,提高了处理效率。 这些改进使HTTP/2在减少延迟、提升性能和更有效地利用网络带宽方面表现出色。同时,它保持了HTTP/1.1的核心语义,但不废弃HTTP/1.1,两者可共存使用。HTTP/2的实施减少了对TCP连接的需求,降低了与其他流的竞争,优化了网络资源的利用率。