cookie接受度非常低的原因?

时间:2009-06-01 09:08:45

标签: internet-explorer cookies acceptance

我目前正在为想要利用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需要的东西丢失或格式错误。我找不到这种谷歌搜索的证据。

任何人都可以找到上述标题的错误或有类似的经历吗?

3 个答案:

答案 0 :(得分:2)

为了未来的读者的利益,事实证明它只是对一个不期望的实现感到害怕P3P

DIE IE DIE

答案 1 :(得分:1)

我会在考虑更多原因时更新列表,但这些都是可能的。

  • 您的网站是否使用任何创意形式的框架?
  • 您是否使用Javascript设置Cookie并且您的用户是否可以启用它?
  • Javascript跨浏览器兼容吗?
  • 目标受众是否可能禁用Cookie?
  • 您是否有很多机器人在抓取您的网站?
  • 每个页面上都有跟踪代码吗?

您是否将Cookie响应与HTTP请求总数进行比较?您是否意识到您的某些请求可能是图像,CSS或其他可能未发送cookie标头的内容?我想我在某处读过浏览器没有对某些类型的内容使用cookie标头。

答案 2 :(得分:0)

我认为由于声明不准确,浏览器会拒绝cookie。您特别缺少有效性信息(DomainPathExpires / Max-age)。实际上,缺少ExpiresMax-age信息会使该Cookie只是一个会话cookie,在关闭浏览器时会过期。