我目前正在为一个希望利用 cookie 来更好地塑造他们的流量等的客户构建一个网络应用程序,等等,你知道这个练习。
所以在上周结束时,我添加了一个简单的 cookie 写入(基本上设置 cookie="helloworld")和一个带有计数器的 cookie 读取到应用程序,这实际上只是一个页面,所以对服务的每个请求都会通过这个读取/肯定写。
部署 cookie 读取率后的几百万个请求占总请求的约 25%,而现在在周末之后,它们仅攀升至约 33%。
供参考:没有设置路径,域是固定的,有效期是从创建开始的一个月。重复访问的次数相对较高。我对设置/获取和计数的技术有 100% 的信心。
更新:进一步调查显示,非 IE 浏览器的接受率为90% 。将自己标识为 IE(无疑包括许多机器人)的请求有10%的接受率。基于 fiddler 会话(由 firebug 确认),响应标头如下所示:
HTTP/1.1 200 OK
Content-Encoding: gzip
Expires: Wed, 09 Jun 1993 00:00:00 GMT
Vary: Accept-Encoding
Set-Cookie: foo; domain=bar.com; expires=Sat, 11-Jul-2009 11:10:19 GMT; path=/; HttpOnly
Cache-Control: no-cache
Cache-Control: private
Cache-Control: no-store
Cache-Control: must-revalidate
Cache-Control: max-stale=0
Cache-Control: post-check=0
Cache-Control: pre-check=0
Date: Thu, 11 Jun 2009 11:10:19 GMT
Transfer-Encoding: chunked
X-AspNet-Version: 2.0.50727
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Type: text/html
Pragma: no-cache
所以我有两个理论:
1)。IE 发现标头中存在冲突,导致它忽略 cookie——这可能与缓存控制字段有关吗?
2)。IE 需要的东西丢失或格式不正确。我找不到这种谷歌搜索的证据。
任何人都可以发现上面的标题有问题或有类似的经验吗?