【问题标题】:web pages compression网页压缩
【发布时间】:2012-02-26 14:27:55
【问题描述】:

我是网站压缩的新手,并且不熟悉这样做的方法。我想知道如何压缩所有页面内容和来源,如css、JS、图像等。我知道这可能是一个大话题,但总是从简单的问题和答案开始。

我是否必须以特定格式压缩内容,或者有办法做到这一点?

更新 #1

我在the optimizer site 上测试了我的一些网页以了解情况如何,但结果证明我需要大量的内容压缩。那么现在在 Apache 上进行压缩的正确方法是什么?

【问题讨论】:

  • 您要提供压缩内容,还是存储压缩形式?
  • @RolandSmith 感谢您的提问。我真的不知道两者之间的区别,但我想让我的网页加载更快,更少的 http 请求。

标签: compression http-compression


【解决方案1】:

如果您的意思是提供压缩内容,那么标准支持deflategzip

建议仅对文本文件(HTML、脚本输出、CSS、JS)启用压缩,因为 JPG/PNG 图像已被压缩,这对您的服务器来说是不必要的开销。

例如,在 Apache 中,您可以使用 mod_deflate。 由于AddOutputFilterByType 指令,它允许您指定要压缩的文件类型。

更多信息请访问http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

【讨论】:

  • 谢谢@Michele。我认为来自 Apache 的代码可以放在根 .htacess 中,对吗?如果是这样,我怎么知道内容压缩了多少?或者至少我怎么知道这个属性是否有效。谢谢
  • 是的。有一个方便的测试 HTTP 压缩的工具:whatsmyip.org/http-compression-test
  • 感谢大家的好评和支持。我在四处寻找一些在线压缩工具,发现了这个htmlcompressor.com/compressor.html,但我认为这还不够,因为在通过 http 或 https 发送请求之前必须再次压缩内容
【解决方案2】:

有一些方法可以更快地加载网页:

  1. 最小化网页的重量
    • 压缩 HTML(Gzip 或 deflate)
    • 压缩 JS(最小化 JS + Gzip)
    • 压缩 CSS (Gzip)
  2. 尽量减少 DNS 查询的数量(结合 CSS、JS,对图标和大量小图像使用精灵)
  3. JS和图片的延迟加载

静态页面、css、js 压缩取决于您的服务器配置。

【讨论】:

  • 谢谢@zoonman。你说的太笼统了。我的意思是我可以使用哪些工具来做到这一点。很高兴您提到延迟加载,但我仍然认为有更好的方法。
  • 延迟加载取决于您的页面或站点。例如,您可以加载轻量级基本站点的功能和延迟加载程序,使其在后台工作。加载所有内容后,您将启用全部功能。如果要控制脚本的加载,可以从脚本末尾调用一些函数。
【解决方案3】:

像 nginx (HttpGzipModule) 和 apache (mod_deflate) 这样的网络服务器可以在提供内容之前对其进行压缩。不要对可能已经压缩的内容启用压缩,例如照片、音乐、视频、软件档案等。

【讨论】:

  • 再次感谢@Roland。好吧,我有 Apache,所以我想我可以使用你提到的 mod_deflate。所以我认为你的意思是我应该将 mod_deflate 代码添加到 root .htaccess 以压缩我想要的任何内容,对吧?
  • 将它添加到您的配置中,如我链接到的 mod_deflate 页面所示。​​
  • 谢谢,我会试试看情况如何。干杯
猜你喜欢
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多