7

我通过雅虎的YSlow在我的 47 页的 asp.net (vb) 网站上运行我的网站。有一些问题,但其中一个说我得到了“使用无 cookie 域的 F 级”。

具体来说,它说:

当浏览器请求静态图像并随请求发送 cookie 时,服务器会忽略 cookie。这些 cookie 是不必要的网络流量。要解决此问题,请通过创建子域并将其托管在其中,确保使用无 cookie 请求请求静态组件。

我真的不知道他们想告诉我什么。他们说我主页上的 43 个组件不是无 cookie,包括:site.css、print.css、homeslider.js,然后是 38 或 39 个 .jpg 或 .png 图像不是无 cookie。

有谁知道我可以如何改进这一点并提高我网站的性能?感谢您提供的任何建议!

4

2 回答 2

7

当从您的站点请求图像或 css 等“静态”文件时,浏览器会随请求一起发送 cookie。这些 cookie 是无用的,因为图像/css 不会根据 cookie 内容而改变。

要使您的静态内容请求 cookie 免费,请从不同的域提供它们。例如:

  • 主要网站:www.mysite.com;
  • 图片、CSS、JS等:www.mysitecontent.com

或者,您可以使用子域,例如static.mysite.com假设您专门将 cookie 绑定到子域(例如,为www.mysite.comnot just设置 cookie mysite.com)。如果您不确定,通常使用不同的域名更容易

例如,使用 firebug 或类似的扩展来查看页面。您会注意到“静态”内容sstatic.com不是来自stackoverflow.com

对于大型网站,为静态文件使用 CDN 并不少见。对于小型站点,它是一个网络服务器,多个虚拟主机是常态。

于 2012-11-01T00:04:24.263 回答
1

确保您的网站仅从 www.domain.com 而不是 domain.com 加载。

确保从 static.domain.com 加载所有静态图像。

这是一篇解释更多的博客文章: http ://www.ravelrumba.com/blog/static-cookieless-domain/

于 2012-11-01T00:08:25.807 回答