为什么Gzip压缩不能在我的网站上运行?

Gzip压缩

每次用户想要访问您的网站时,他们都会使用浏览器拨打您的网络服务器。调用将加载页面的数据,其中包括您的HTML,CSS以及页面上的任何媒体。

需要加载的文件越大,页面整体加载所需的时间就越长。即使您是延迟加载或异步加载内容,这也适用; 内容仍然需要加载。您可以通过一次加载所有内容而不是一次加载所有内容来加快页面加载速度,但您仍然需要满足于发送文件。文件越大,发送时间越长,周期。

理想情况下,您要做的是找到一种方法来缩小文件。有很多不同的方法可以做到这一点。

将图像文件压缩为较低的颜色深度或较低的分辨率。如果它只显示为950×540,则无需加载1900×1080图像; 您可以使源文件更小。
或者,Smush图像。smush插件将从图像中删除隐藏的元数据,消除人眼无法检测到的颜色差异,这对于图像显示无关紧要,并将图像调整为更小。
缩小HTML。这基本上只是删除了无关的字符和间距,使得人类可读,但就浏览器而言没有任何区别。
通常通过降低分辨率来缩小视频文件的尺寸。对于基本的Web体验,您很少需要做超过720p的任何事情,并且出于很多目的,即使这样也是过度的。
不过,最重要的是,您可以启用Gzip压缩。Gzip是GNU下Unix社区中基于zip压缩的一种形式, G是G的来源。它使用DEFLATE算法,如果你想阅读它,这是非常技术性的。我觉得它很吸引人,但同时也认识到了解压缩是如何工作的并不一定对它起作用很重要。

如果安装正确,它可以大大加快您的网站。关键字,正确。让我们弄清楚它为什么不工作以及如何启用它。

启用Gzip压缩
您可以通过许多不同的方式在Web服务器上启用Gzip压缩,这很大程度上取决于服务器运行的体系结构。

如果您的服务器正在运行IIS,您真正需要做的就是进入配置设置并启用压缩。服务器软件将处理剩下的事情。您可以在此处阅读文档。

如果您的Web服务器正在运行Apache,则需要在.htaccess文件中添加一些代码。基本上,您将在文件中添加输出压缩过滤器,并且每种类型的文件都需要单独的行。您可以阅读有关在整个网络上使用它的更多信息。下面讨论 mod_deflate和mod_gzip之间的区别,这两种形式的压缩都可以使用.htaccess启用。

编辑Htaccess文件
如果您正在运行无法直接修改.htaccess文件的服务器体系结构,例如当您使用网站构建器或锁定的共享主机时,则需要向HTML文件添加一些PHP代码。你可以在这里阅读这个方法。

当Gzip不起作用时会发生什么?
Gzip有很多方法可以失败。正如您可以从上面的方法和我添加的链接中可以看出,您需要在网站上添加一些文件或其他文件的精确代码。

您应该检查的第一件事是您的Web主机是否支持Gzip压缩。信不信由你,有一些不关心压缩或页面加载速度,因此不打扰兼容性。联系您的Web主机以查看它们是否允许Gzip,如果不允许,您将不得不使用自动压缩协议进行最佳压缩。

Gzip压缩工作
你应该做的第二件事是检查你的代码,看它是否有用。可能存在语法错误,错过的字符,或者只是与您的体系结构不兼容的格式错误的代码。有许多代码可以添加到.htaccess或PHP压缩代码中,您可以在整个Web上找到它们。如果一个不起作用,尝试另一个。没有理由去调试代码,如果你可以用更有可能工作的东西批量替换代码。

您也可能无法访问正确的文件以启用Gzip压缩,但您的Web主机也可以。您可能需要联系他们,并告诉他们启用它。也可能是您的代码不起作用,因为已经启用了不同的压缩方法,并且您的代码与现有压缩冲突。您是否检查过您的文件是否已经压缩开始,或者您是否只是假设您自己没有打开它,它一定不存在?

要测试Gzip压缩是否有效,您可以使用Firebug之类的工具来检查您访问网站时获得的文件,也可以使用Check Gzip Compression等第三方网站进行测试和测试。看到。这个网站有什么好处,如果你的压缩没有启用,它会告诉你如果你正确启用它可以减少多少大小。

检查Gzip压缩
Gzip可能无法在您的网站上运行的另外两个原因。其中之一就是您从过时的浏览器中测试它。有些浏览器,特别是旧版本的Internet Explorer – 我知道 – 不能正确处理服务器调用。如果您希望人们从如此旧的浏览器中使用您的网站,您将需要特别考虑。

现在,为什么人们会使用这样的旧浏览器?不幸的是,在企业界,旧的浏览器通常是强制要求的,因为旧的企业Web应用程序需要旧版本的Java,这些版本在新的浏览器中不起作用。尽管人们更喜欢使用真正的现代浏览器,但他们有时却不能。现在,这是否意味着你需要迎合他们?我不这么认为。老实说,那些人可以只处理速度较慢的互联网,希望它能给他们带来更大的压力。

Gzip可能无法正常工作的另一个原因是您的网站上有非常大的文件。旧版本的Gzip文件大小限制为2GB。任何大于该文件的文件都不会使用Gzip算法进行压缩。然而,这依赖于较旧的算法。较新版本的Gzip 可以处理较大的文件,但通常需要一些时间来压缩它们并解压缩它们。文件越大,压缩的好处就越少,除非它纯粹是文本。文字压缩得很好。视频根本无法压缩。此外,如果内容已经使用其他来源的某些其他算法进行了压缩,则重新压缩它不会带来任何好处。

如果您愿意,可以尝试使用其他压缩算法,但我不太了解它们,以便为您提供建议。

你可能有另一个考虑因素是使用WordPress。如果您正在使用WordPress安装,则可以使用上面的.htaccess方法而不会出现任何问题。但是,您也可以使用快捷方式并使用众多可用插件之一来实现此目的。以下是一些选项:

检查并启用GZIP压缩。此插件是一个工具,可将您的URL提交到我上面列出的“检查Gzip压缩”网站。如果已启用压缩,则它不会执行任何其他操作。如果您没有启用压缩,它会将您带到一个工具菜单,您可以在其中单击几次并启用它,不会涉及到涉及的代码。
WP最快的缓存。WordPress通过使用PHP文件和数据库来动态生成页面。这样做的问题是它需要服务器在发送页面之前生成和呈现页面,这会降低速度,特别是如果您有高流量的话。此插件生成页面并缓存静态版本,从而加速您的网站。然后,您可以在选项中启用Gzip压缩,同时缩小HTML和CSS,合并文件以及使用浏览器缓存。总而言之,这是您网站的广谱速度提升。
WP性能得分助推器。此插件为页面设置缓存,启用Gzip,并从静态资源中删除查询。如果您的站点上有大量自定义开发,这可能会导致一些问题,因此请确保在运行之前备份可能更改的任何文件。它旨在加速您的网站,使其在各种提供公制的网站上看起来更好,如Googles PageSpeed Insights,Pingdom和GTMetrix。
WPMU DEV的蜂鸟。这个与WP Fastest Cache几乎完全相同。我列出它的主要原因是因为它是WPMU DEV创建的产品之一,它产生了很多非常好的WordPress插件。这意味着它可以很好地与他们创建的其他插件配合使用,并且具有很强的支持。我建议检查它们几乎所有WordPress插件需要。
GZip Ninja Speed Compression。这是在Apache安装上启用Gzip的快速简便方法。就是这样。它应该适用于任何基本的WordPress安装,只要您的服务器运行Apache。但是,它在三年内没有更新,所以如果它不适合你,不要期待支持。
还有其他选择,我刚刚列出了一些最好和最容易使用的选项。如果这些目录都不符合您的需求,请随意自行浏览WordPress插件目录。

请记住,虽然压缩在传输速率方面节省了时间,但它确实比发送未压缩的内容对服务器的性能征税更多。那么,您必须问自己的问题是:您的服务器是否缺乏CPU能力,或者您的受众是否缺乏Web浏览器速度?如果您使用功耗不足的非常低成本的共享主机运行,则可能不希望启用压缩。您的站点速度较慢,但​​它有助于防止过度使用您的服务器资源。除非你拥有数量惊人的用户和一个相当陈旧,功能不足的网络主机,否则在这种情况下相当罕见。在这种情况下,考虑更改Web主机可能是有益的,因为谁知道他们阻止您的其他方式。

另一方面,如果您的用户使用移动设备或使用较慢的连接,例如在农村地区,则启用压缩可能是个好主意。哎呀,如果没有别的,压缩会给你一个页面加载时间减少,这是一个PageSpeed增加,这意味着你将从中获得一些SEO值。不是很多,而是一些,而且“一些”SEO值的所有小来源都会随着时间的推移而增加。

就个人而言,我觉得几乎没有充分的理由不启用压缩。如果没有别的,启用它没有坏处; 如果无法解压缩文件的人试图使用您的网站,您的网站将发送未压缩的数据,因为它比根本不发送任何内容更好。