如何修复“从无Cookie域提供静态内容”警告

错误类型:
浏览器错误
错误名称:
从无Cookie域提供静态内容
英文名称:
Serve Static Content From a Cookieless Domain
错误描述:
此警告通常出现在具有大量请求的站点上。解决此问题的一些方法包括使用CDN提供商去除cookie或设置单独的域和/或子域来提供cookie。

如何修复“从无Cookie域提供静态内容”警告

Pingdom、 GTmetrix或Google PageSpeed Insights中看到“从无Cookie域提供静态内容(Serve Static Content From a Cookieless Domain)”警告?

通常,当您提供图像、JavaScript、CSS等内容时,没有理由伴随HTTP cookie,因为它会产生额外的开销。一旦服务器为特定域设置了cookie,该域的所有后续HTTP请求都必须包含cookie 。

此警告通常出现在具有大量请求的站点上。解决此问题的一些方法包括使用CDN提供商去除cookie或设置单独的域和/或子域来提供cookie。

由于Web 和新协议(例如HTTP/2)最近发生了变化,现在通常可以安全地忽略此警告。新连接的成本通常比通过同一连接流式传输所有内容的成本更高。 HTTP/2现在通过并行做了惊人的事情。而且cookies本身一般都很小。

根据报告它的工具或软件,警告可能以几种不同的方式出现:

  • “从未设置cookie的域中提供以下静态资源”
  • “提供来自无cookie域的静态内容”

提供来自无cookie域警告的静态内容

提供来自无cookie域警告的静态内容

但是,如果您仍想设置一个单独的域来提供cookie,请参考以下说明。

修复从无Cookie域提供静态内容警告

有几种方法可以修复“从无Cookie域提供静态内容”警告,例如使用CDN以及重新配置您的WordPress站点。

  1. 使用CDN
  2. 重新配置WordPress网站

1. 使用CDN

解决此警告的一种简单方法是使用CDN提供程序,该提供程序能够忽略cookie以及剥离cookie,这将完全阻止客户端接收Set-Cookie响应标头。

国外品牌KeyCDN是一家提供此功能的CDN提供商。默认情况下,您可以看到启用了以下两个选项。这是一个简单的替代方案,而不必费心移动和配置您的站点以从单独的子域交付静态资产。

忽略cookie以及剥离cookie

注意: 您不能对通过CloudFlare提供服务的资源禁用cookie。 CloudFlare还在您的标头中包含其自己的安全cookie。同样,这些cookie非常小,对性能的影响也非常小。但是,如果您使用CloudFlare,则无法绕过此警告。

2.重新配置WordPress站点

您的第二个选择是重新配置您的WordPress站点以从新域或子域提供静态资产。注意:如果您使用顶级域,例如domain.com,那么您实际上需要完全使用一个单独的域。如果您使用的是www.domain.com,那么您可以简单地设置一个子域,例如static.domain.com。在本例中,我们假设您的网站位于www.domain.com。

  1. 首先,创建一个子域,例如static.domain.com。这是您将交付所有文件的地方。
  2. 将子域的DNS记录设置为指向主域的CNAME。
  3. 通过编辑您的wp-config.php文件将您的子域指向您的/wp-content目录:
    define("WP_CONTENT_URL", "http://static.domain.com"); 
    define("COOKIE_DOMAIN", "domain.com");

评论留言