如何让我的asp.net网站“更多cookie免费”?

时间:2012-11-01 00:01:15

标签: asp.net performance cookies yslow

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

具体来说,它说:

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

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

有人知道如何改善这一点并提高我网站的性能吗?感谢您提出的任何建议!

2 个答案:

答案 0 :(得分:7)

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

要使您的静态内容请求Cookie免费,请从其他域提供。例如:

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

或者,您可以使用子域名,例如static.mysite.com,假设您专门将Cookie绑定到子域名(例如,为www.mysite.com设置Cookie而不仅仅是mysite.com)。如果您不确定,使用其他域名通常会更容易

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

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

答案 1 :(得分:1)

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

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

以下是一篇博文,解释了更多内容:http://www.ravelrumba.com/blog/static-cookieless-domain/