【问题标题】:GZip with Mobile Browsers带有移动浏览器的 GZip
【发布时间】:2010-07-08 10:04:09
【问题描述】:

我针对移动用户的几个网络项目,并注意到一些标准工具(JS 库、json 传输、xml 等)对于移动数据计划来说非常重要。

我希望能够实现 gzip 资源,并且可能使用 mod_deflate/mod_gzip 来尝试减少这些设备使用的带宽量。

但是,我不知道在移动设备上对 gzipped javascript、gzipped html 等的支持有多广泛,或者即使使用...是常见的做法?不过,这似乎是有道理的。

是否可以作为普通移动设备的可靠工具使用..? iPhone、安卓、黑莓、windows mobile/opera..?

谢谢。

【问题讨论】:

    标签: javascript gzip mobile-website


    【解决方案1】:

    我认为这无关紧要,如果浏览器支持,它会请求 GZipped 数据,因此您的服务器只会在您的浏览器要求时才 GZip。

    【讨论】:

    • 带有.gz压缩源的脚本标签怎么样?
    • 如果您使用.gz 压缩源,您也需要提供原件。这就是单独压缩文件不如使用 .htaccess 进行动态 GZipping 流行的原因,因为它会为您处理所有这些。
    • 当然,如果 apache 正在对所有内容进行 gzip 压缩,那就没有意义了 :) 但是,即使您无法启用 mod_gzip/deflate(例如,在共享主机上),向客户端提供 .js.gz 文件也会起作用)...?也许这由另一个问题更好地处理。
    • 你说得很好,但我认为(只要模块可用)这可以由 .htaccess 文件处理。我不确切知道 .gz 文件是如何工作的,但我想当他们被请求时,服务器会压缩它们?如果是这种情况,服务器有可用的 GZip 模块,并且可以自动实现。
    • 没错,我认为需要一个问题来解决这个问题。都有些模糊。不过,我会继续接受你的回答,谢谢大家。
    【解决方案2】:

    据我所知,他们中的大多数都支持它,但如果你配置好你的服务器,它将能够发送非压缩资源(如果需要)

    另一个好处是您改进了缓存,因为某些设备(例如 iPhone)对于要缓存的内容有 25k 的限制。

    所以简短的回答是:就做吧

    【讨论】:

      【解决方案3】:

      mod_deflate / mod_gzip 将检查客户端的“接受”标头并相应地打开或关闭压缩。

      只需在您的服务器中打开它,并确保您的 jscss 资源也被压缩。您可以使用 Firebug 的“Net”选项卡来检查是否对加载的资源应用了压缩。

      如果某些文件类型缺少压缩功能,请查看 this question 了解如何打开它。

      【讨论】:

        【解决方案4】:

        去吧 - 只有当浏览器发送Accept-Encoding: gzip 时才应该发送 gzip 压缩版本(并且模块会自动检查)。 (见the relevant part of RFC 2616

        (通常的警告适用 - 某些浏览器已损坏。例如,IE6 宣传 gzip 功能但实际上并没有正确支持它。对于移动浏览器,我还没有遇到过这样的损坏 - 到目前为止,每个移动浏览器广告gzip支持它)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-10
          • 2015-11-17
          • 2011-12-28
          • 2011-04-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多