Page 198 - Web性能权威指南
P. 198

然而,实现简单是以牺牲应用性能为代价的,而这正是 HTTP 2.0 要致力于解决的:

                     HTTP/2.0 通过支持首部字段压缩和在同一连接上发送多个并发消息,让应
                     用更有效地利用网络资源,减少感知的延迟时间。而且,它还支持服务器到
                     客户端的主动推送机制。
                                                                    ——HTTP/2.0,Draft 4
                 HTTP  2.0 当前还在制定过程中,因此如何编码每一帧中的比特、每个字段叫什么名
                 字,以及类似的底层细节都可能会变化。但是,尽管“怎么”会不断演进,可核心
                 设计和技术目标却是可以讨论的。这些内容已经取得了多方的理解和共识。


                 12.3.1 二进制分帧层

                 HTTP  2.0 性能增强的核心,全在于新增的二进制分帧层(图 12-1),它定义了如何
                 封装 HTTP 消息并在客户端与服务器之间传输。



                       ᆌᆩ֫DŽHTTP 2.0Dž

                          ܾ৊዆ݴኡ

                     ࣷࣆ֫DŽTLSDžDŽ੗჋Dž
                                                      "  " "  "
                        د๼֫DŽTCPDž


                         ྪஏ֫DŽIPDž                             HEADERSኡ

                                                               DATAኡ




                 图 12-1:HTTP 2.0 二进制分帧层

                 这里所谓的“层”,指的是位于套接字接口与应用可见的高层 HTTP  API 之间的一
                 个新机制:HTTP 的语义,包括各种动词、方法、首部,都不受影响,不同的是传
                 输期间对它们的编码方式变了。HTTP  1.x 以换行符作为纯文本的分隔符,而 HTTP
                 2.0 将所有传输的信息分割为更小的消息和帧,并对它们采用二进制格式的编码。

                 这样一来,客户端和服务器为了相互理解,必须都使用新的二进制编码机制:HTTP
                 1.x 客户端无法理解只支持 HTTP  2.0 的服务器,反之亦然。不过不要紧,现有的应
                 用不必担心这些变化,因为客户端和服务器会替它们完成必要的分帧工作。


                                                                              HTTP 2.0   |   183
   193   194   195   196   197   198   199   200   201   202   203