什么是无 cookie 域?我已经多次看到这些词,但我一直不明白它是什么。
我正在使用Firebug的“页面速度”扩展来尝试优化网站,我目前正在研究以下建议:“从无 cookie 的域中提供静态内容”。
我为某些内容创建了一个单独的子域,以便我拥有www.example.com
,images.example.com
但如何指定它images.example.com
是无 cookie 的?我可以强制它在诸如 Nginx 或 Apache 之类的网络服务器中是无 cookie 的,还是仅仅是确保不在服务器端代码(例如 PHP)中在此域中设置任何 cookie 的问题?
我问的原因是因为即使在我尝试修复它之后“Page Speed”仍然显示相同的建议 - 所以我想一些 cookie 一定已经漏掉了。我在浏览器 cookie 搜索中看不到任何 cookie,但如果我检查资源的 HTTP 标头,我可以看到:
Cookie __utma=73051794.676740941.1271792323.1277710025.1277900715.20; __utmz=73051794.1271792323.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmx=73051794.00009825591030858779:3:0; __utmxx=73051794.00009825591030858779:2295429:2592000; __gads=ID=0a768e3407302ff8:T=1272608001:S=ALNI_MZ-GKhg3ETniU0TVftk0DdGyUypkQ
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何阻止来自我的子域的 cookie?
我正在考虑建立一个新域来在我的网站上托管静态内容,并让它像 Stackoverflow 和他们的静态域一样无 cookie 。因此,在继续购买域并进行设置之前,我想首先在本地主机下在我的开发机器上测试它(我不得不提到我计划在我的新域上运行 IIS 以获取静态文件)。
因此,我在 IIS 下创建了一个新应用程序并禁用了会话状态和表单身份验证。当我的主应用程序需要 css、images 和 js 等资源时,我使用托管它们的“静态”应用程序的路径。
问题是,当我查看请求和所请求文件的响应时,它们仍然定义了 session_id cookie 以及 asp.net 身份验证 cookie。
是否有可能在开发机器上完成我想要做的事情,还是我必须继续购买新的域,希望能让事情变得正确?我试图阅读有关 cookieless 域的信息,但无法弄清楚我可能遗漏了什么。
我创建了一个使用基本 asp.net 身份验证的 Web 应用程序。身份验证系统在代码方面运行良好,但是我无法让 IIS7 将 cookie 发送到 IE Web 浏览器。
当我在 Chrome 或 Firefox 中浏览我的网站时,一切正常,我可以在标题中看到 cookie。但是,当我尝试在 IE 下登录时,登录成功但没有在 HTTP 标头中发送 cookie。
我不知道如何进一步调试这个问题。IE 设置为接受所有 cookie,但 IIS 似乎并未向浏览器提供任何 cookie。如果我在网络服务器上并且我浏览到http://localhost/一切正常,但是如果我使用网络服务器的 dns 名称,我也不会得到 cookie。
如果我将应用程序的 web.config 配置为在 IIS 检测到它无法使用 cookie 时使用基于 URL 的身份验证,IIS 会以某种方式看到它无法获取 cookie,然后使用基于 URL 的身份验证。
目前对我来说似乎是 IIS 问题,因为我在 IE 中完全启用了 cookie,但它仍然无法正常工作。此外,即使外部用户使用我的 dns 名称,相同的 Web 应用程序也可以在 IE 中的本地 IIS 服务器上运行,cookie 运行良好。然而,我不知道从这里去哪里。
任何帮助将不胜感激。
参考这篇 serverfault 博客文章:一些速度改进,其中讨论了如何从单独的无 cookie 域提供 stackexchange 的静态内容......
有人将如何在 IIS7.5 上为 ASP.NET MVC 站点执行此操作?
到目前为止的计划:
<clientCache cacheControlCustom="public" />
在 web.config 中这个计划正确吗?
您如何使用 WebDeploy 将整个 Web 应用程序部署到一台服务器,然后仅将静态项目部署到另一台服务器?
我可以看到有一个类似的问题,但对于 apache:Creating a cookie-free domain to serve static content so it does not apply
是否可以在 IIS7 中将特定文件夹定义为无 cookie,而不仅仅是根?