如何解决[从没有设置cookie的域中提供以下静态资源]

时间:2016-06-11 01:23:48

标签: cookies cookieless

我在一些我根本不知道的事情上挣扎。当我ping我的网站时,我得到了这个结果:[Serve the following static resources from a domain that doesn't set cookies:]。而且,这个结果是由我用于背景图像的图像引起的。我试图谷歌关于这个主题,但所有的答案似乎很难理解。这里有没有人知道它和任何解决它的简单解决方案?

4 个答案:

答案 0 :(得分:7)

我会尝试给出一个非常高级别的概述,因为你没有在你的问题中给出很多具体细节。请注意,有很多方法可以解决这个问题,我将尝试提供一个我认为易于理解的解决方案。

该消息表明,如果您的网站 www.company.com ,那么您应该从 www.companycdn.com 加载静态内容。新网站( www.companycdn.com )是一个简单的静态网站,不提供cookie。

为此,您需要将静态资源(例如图像)上传到第二个域。

然后将图像路径更新到新域。例如,代替:<img src="logo.jpg"/>,您应该将其更改为此<img src="//www.companycdn.com/logo.jpg"/>

此答案包含更多信息:https://webmasters.stackexchange.com/questions/1772/how-do-i-set-up-a-cookie-less-domain

答案 1 :(得分:7)

通常,当您提供图像,JavaScript,CSS等内容时,没有理由伴随HTTP cookie,因为它会产生额外的开销。这就是很多工具报告这一点的原因。以下是两个快速简便的选择:

选项1 - 使用CDN

使用CDN托管您的图像,该图像能够忽略cookie以及剥离cookie,这将完全阻止客户端接收Set-Cookie响应头。注意:您can't disable cookies on Cloudflare

选项2 - 将静态资产指向新域

这是WordPress的一个例子。

  1. 首先,创建一个子域名,例如static.domain.com。这是您将从中提供所有文件的地方。
  2. 使用CNAME将子域指向您的/ wp-content目录。
  3. 编辑您的wp-config.php文件以反映以下内容:
  4. define("WP_CONTENT_URL", "http://static.domain.com"); 
    define("COOKIE_DOMAIN", "domain.com");

    请参阅此帖子中有关如何解决Serve Static Content From a Cookieless Domain警告的更多信息。

答案 2 :(得分:2)

如果你是新手。我希望您首先告诉您,一旦您设置了cookie,它将在每个请求中发送到服务器。

默认情况是,它将发送到您的父域及其所有子域的所有请求。这就是cookie如何影响一切。

因此,为了让您的网站更快,您不要超载您的http请求。如果你减少饼干它会更好。

现在让我们继续讨论如何做到这一点。 使用不同的域名,您也可以限制某些子域名设置cookie,但从长远来看,它可能是一种devops责任。

例如,Quikr拥有父域http://www.quikr.com/,但从kuikr.com加载所有静态资源

http://teja1.kuikr.com/public/images/dist/RECarousel/hospitality_jobs.png

我希望这会有所帮助。谢谢!

答案 3 :(得分:0)

@Brian Jackson描述得非常好,如何实现这一目标。在运行Pagespeed Insights,GtMetrix,Pingdom等工具之后,大多数人都在问这个问题,这是推荐的:

更好的搜索引擎排名的主要因素是实际加载速度(优化清单是次要的)。将静态资源移动到子域将增加页面加载时间而不是减少它(在大多数情况下,特别是如果我们讨论的是几个文件,css,js和一些图像)。即使使用CDN也会产生不利影响,如果您只提供一些样式表,js资源和少量图片,只需在这些工具上获得更高分数。

如果您有大量图像或非常大的静态资源,建议使用快速CDN,这将在很多方面提供帮助。

如果你这样做是为了在工具清单上得分更高,我会接受@Brian Jackson的建议,并在之前和之后与Google的Pagespeed Insights进行比较。如果您的更改确实有利于页面加载速度或使其变得更糟,那么这将为您提供答案。永远不要牺牲加载速度来检查另一个盒子,这些工具是通用的,不适用于每个特定的网站或网络应用程序。

enter image description here

在上图中,我指出了YSlow的建议。当我将有问题的资产移动到无cookie子域时,YSlow和Pagespeed Insights优化分数都会上升到100%,然而,加载速度略有下降(100-300ms)并导致Google对网站评级为“平均”而不是“好”。使用CDN时,速度会进一步下降,导致Google将网站速度评为“差”。不要保持100%的优化分数,而是始终追求实际速度。我可以考虑检查实际速度的最佳工具是Pingdom:

enter image description here