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

在使用 PSOL 库的情况下,mod_pagespeed(Apache)和 ngx_pagespeed(Nginx)
                模块都可以基于指定的优化过滤器(如嵌入、压缩、拼接、分片等)实现动态重
                写,并优化资源交付方式。每次优化都在请求时动态应用(并被缓存),整个优化
                过程完全自动化了。
                在动态优化下,服务器还可以根据所用协议,甚至用户代理的类型和版本调整优
                化策略。比如,可以配置 mod_pagespeed 模块,在客户端使用 HTTP 2.0 时跳过某
                些优化:

                    # 对 SPDY/HTTP 2.0 客户端禁用拼接
                    <ModPagespeedIf spdy>
                      ModPagespeedDisableFilters combine_css,combine_javascript
                    </ModPagespeedIf>
                    # 只对 HTTP 1.x 客户端使用域名分区
                    <ModPagespeedIf !spdy>
                      ModPagespeedShardDomain www.site.com s1.site.com,s2.site.com
                    </ModPagespeedIf>
                使用 PageSpeed 这样的自动 Web 优化库,可以让我们省去不少麻烦,值得考虑。



               13.3.3 1.x与2.0的相互转换
               除了双协议优化策略,很多已部署的应用都需要在自己的应用服务器上采取一种折
               中方案:两端都是 HTTP  2.0 是追求最佳性能的目标,但(新增)一个转换层(图
               13-2)也可以让 1.x 服务器利用 HTTP 2.0。



                                                                 HTTP 1.xޜခഗ




                                          2.0ڟ1.xገ࣑ഗ
                                         پ૙+޶ሜ਩࢚ഗ




                                                                HTTP 1.xޜခഗ

               图 13-2:HTTP 2.0 到 1.x 的转换,即将流转换为 1.x 请求
               一台居间服务器可以接受 HTTP 2.0 会话,处理之后再向既有基础设施分派 1.x 格式
               的请求。接到响应后,再将其转换成 HTTP  2.0 的流并返回客户端。通常,这是应
               用 HTTP  2.0 更新的最简单方式,因为这样可以重用已有的 1.x 基础设施,而且基本
               不用修改。



               212   |   第 13 章
   221   222   223   224   225   226   227   228   229   230   231