- 错误类型:
- 浏览器错误
- 错误名称:
- 从无Cookie域提供静态内容
- 英文名称:
- Serve Static Content From a Cookieless Domain
- 错误描述:
- 此警告通常出现在具有大量请求的站点上。解决此问题的一些方法包括使用CDN提供商去除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域提供静态内容”警告,例如使用CDN以及重新配置您的WordPress站点。
1. 使用CDN
解决此警告的一种简单方法是使用CDN提供程序,该提供程序能够忽略cookie以及剥离cookie,这将完全阻止客户端接收Set-Cookie响应标头。
国外品牌KeyCDN是一家提供此功能的CDN提供商。默认情况下,您可以看到启用了以下两个选项。这是一个简单的替代方案,而不必费心移动和配置您的站点以从单独的子域交付静态资产。
注意: 您不能对通过CloudFlare提供服务的资源禁用cookie。 CloudFlare还在您的标头中包含其自己的安全cookie。同样,这些cookie非常小,对性能的影响也非常小。但是,如果您使用CloudFlare,则无法绕过此警告。
2.重新配置WordPress站点
您的第二个选择是重新配置您的WordPress站点以从新域或子域提供静态资产。注意:如果您使用顶级域,例如domain.com,那么您实际上需要完全使用一个单独的域。如果您使用的是www.domain.com,那么您可以简单地设置一个子域,例如static.domain.com。在本例中,我们假设您的网站位于www.domain.com。
- 首先,创建一个子域,例如static.domain.com。这是您将交付所有文件的地方。
- 将子域的DNS记录设置为指向主域的CNAME。
- 通过编辑您的wp-config.php文件将您的子域指向您的/wp-content目录:
define(“WP_CONTENT_URL”, “http://static.domain.com”);define(“COOKIE_DOMAIN”, “domain.com”);define(“WP_CONTENT_URL”, “http://static.domain.com”);
define(“COOKIE_DOMAIN”, “domain.com”);define("WP_CONTENT_URL", "http://static.domain.com"); define("COOKIE_DOMAIN", "domain.com");