我最近决定遵守 YSlow推荐静态内容托管在无 cookie 的域上。
由于我已经使用了我的域的根(donaldjenkins.com) 来托管我的网站(Google Analytics 在该网站上设置了一些 cookie),这意味着我必须将提供静态文件的 CDN 的 CNAME URL 从 cdn.donaldjenkins.com 移至一个完全独立的专用域。我购买了cdn.dj
(是的,这是一个真正的吉布提域名),将文件托管在根目录(除了 robots.txt 文件外,不包含任何其他内容)上,并为 CDN 设置了 CNAME e.cdn.dj
。此设置有效,但我惊讶地发现 YSlow 仍将静态文件标记为非无 cookie:以下是屏幕截图:
该cdn.dj
域名是新的,除了托管这些静态文件外从未用于任何其他用途。在网站上运行 httpfox 会显示_utma
和_utmz
Google Analytics cookie 被设置在以上列出的静态文件上 — — 尽管它们托管在一个完全独立的专用域名上。
这是我的 Google Analytics 代码:
//Google Analytics tracking code
var _gaq=[['_setAccount','UA-5245947-5'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
// [END] Google Analytics tracking code
我并没有沉迷于这个问题——我知道它并没有真正影响服务器性能——但我只想理解是什么原因导致它不会消失......
答案1
我真的不明白你的意思(抱歉,这应该是一条简短的评论,但 serverfault 不允许我这样做)。
我最近决定遵守 YSlow 建议,将静态内容托管在无 cookie 的域上
YSlow 是否建议托管没有 cookie 的静态内容?因为在没有 cookie 的域上托管对我来说没有意义。Cookie 通常由您在这些静态内容文件中运行的任何 js 脚本设置。所以如果你现在为静态文件设置 CNAME(使用谷歌分析代码),ga 只会从该域加载和设置 cookie。