- 错误类型:
- 浏览器错误
- 错误名称:
- 指定一个变化:接受编码头
- 英文名称:
- Specify a Vary: Accept-Encoding Header
- 错误描述:
- 原则上,这不是一个错误。这是一个HTTP报头和应包括在每一个原始服务器的响应,因为它告诉浏览器客户端是否能够处理压缩内容的版本。
您是否在Pingdom、GTmetrix或Google PageSpeed Insights等网站测速中看到过“Specify a Vary: Accept-Encoding Header”警告?这是一个HTTP报头和应包括在每一个原始服务器的响应,因为它告诉浏览器客户端是否能够处理压缩内容的版本。
例如,假设您有一个没有gzip压缩的旧浏览器和一个带有它的现代浏览器。如果您不使用Vary: Accept-Encoding标头,您的Web服务器或CDN可能会缓存未压缩版本并错误地将其传送到现代浏览器,这反过来会损害您的WordPress网站的性能。通过使用Vary: Accept-Encoding标头,您可以确保您的Web服务器和/或CDN提供适当的版本。
根据报告它的工具或软件,警告可能以几种不同的方式出现:
- “Specify a Vary: Accept-Encoding Header”
- 以下可公开缓存、可压缩的资源应具有“vary: accept-encoding”标头
在Pingdom中指定Vary: Accept-Encoding标头警告
请按照以下有关如何修复“Specify a Vary: Accept-Encoding Header”警告的步骤操作。
修复“Specify a Vary: Accept-Encoding Header”警告
关于此警告需要注意的第一件事是,您只能针对服务器上的请求修复此问题。如果您有3rd方请求,您会看到此内容,则您无能为力,因为您无法控制他们的Web服务器。尽管随时与他们分享这篇文章。
Accept-Encoding标头
标头适用于您的WordPress资源和您的原始服务器请求。对于您的网站资源,如果您使用的是CDN,许多资源已经默认应用了Vary: Accept-Encoding。KeyCDN、Cloudflare和CloudFront都利用了这一点。许多WordPress缓存插件也添加了这一点。
如果您仍需要修复此问题,则需要向服务器添加一些代码。
修复Apache中的“Specify a Vary: Accept-Encoding Header”警告
要在Apache中修复此问题,请通过FTP将以下代码添加到您的 .htaccess 文件中。该文件可以在您的服务器的根目录中找到。如果您的权限设置正确,您还可以使用Yoast SEO插件编辑您 .htaccess 文件。
重要的!如果操作不当,编辑您的 .htaccess 文件可能会破坏您的网站。修改前,建议先备份原文件。
<FilesMatch “.(js|css|xml|gz|html)$”>
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
<IfModule mod_headers.c> <FilesMatch ".(js|css|xml|gz|html)$"> Header append Vary: Accept-Encoding </FilesMatch> </IfModule>
修复NGINX中的“Specify a Vary: Accept-Encoding Header”警告
要在NGINX中解决此问题,请将以下代码添加到您的配置文件中。所有NGINX配置文件都位于该/etc/nginx/
目录中。主要配置文件是/etc/nginx/nginx.conf
.
gzip_vary on
使用Vary: Accept-Encoding标头实际上可以帮助加速您的WordPress网站,因为它将确保您使用gzip压缩。如果一切顺利,并且您没有任何未正确使用标头的3rd方请求,您应该会使用Pingdom等网站速度测试工具(如下所示)看到您的分数有所提高。
Specify a Vary: Accept-Encoding header警告