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

൩൱#1                     ൩൱#2
                                                    ᅙᆶ
                                                    ᅙᆶ
                                                    ᅙᆶ

                                                    ᅙᆶ
                                                    ᅙᆶ


                                  HEADERSኡDŽstream 1Dž      HEADERSኡDŽstream 3Dž









                 图 12-5:HTTP 2.0 首部的差异化编码


                            请求与响应首部的定义在 HTTP 2.0 中基本没有改变,只是所有首部键必须
                            全部小写,而且请求行要独立为 :method、:scheme、:host 和 :path 这些
                            键-值对。


                 在前面的例子中,第二个请求只需要发送变化了的路径首部(:path),其他首部没有变
                 化,不用再发送了。这样就可以避免传输冗余的首部,从而显著减少每个请求的开销。
                 通信期间几乎不会改变的通用键-值对(用户代理、可接受的媒体类型,等等)只
                 需发送一次。事实上,如果请求中不包含首部(例如对同一资源的轮询请求),那么
                 首部开销就是零字节。此时所有首部都自动使用之前请求发送的首部!


                                    SPDY、CRIME 和 HTTP 2.0 压缩

                   SPDY 的早期版本使用 zlib 和自定义的字典压缩所有 HTTP 首部,可以减少
                   85%~88% 的首部开销,从而显著减少加载页面的时间:

                       在低速 DSL 连接中,上传速度只有 375 Kbit/s,仅压缩请求首部,即可
                       显著减少某些(需要发送大量资源请求的)站点的页面加载时间。我们
                       发现压缩首部可以节省 45~1142 ms 的页面加载时间。
                                                         ——SPDY 白皮书,chromium.org








                                                                              HTTP 2.0   |   193
   203   204   205   206   207   208   209   210   211   212   213