Cookie如何与域,路径和覆盖一起使用?

时间:2013-08-27 08:49:03

标签: http cookies

我一直在阅读How do browser cookie domains work?和RFC,它回答了我关于cookie的许多问题。但并非所有这些(尽管我确定答案是在RFC中,但我无法正确解析它)。我还有一些问题,我将以与上述问题相同的格式提出问题。

  • www.example.com可以使用www.example.com/path的Cookie吗?
  • example.com/path可以使用www.example.com的Cookie吗?
  • 应该www.example.com能够为www.example.com/path设置Cookie吗?
  • www.example.com/path可以使用www.example.com的Cookie吗?
  • 应该www.example.com/path能够为www.example.com设置Cookie吗?
  • 如果为包含www.example.com的{​​{1}}设置了Cookie,之后为foo=bar设置了example.com的Cookie,foo=baz应该发送前example.com ,或后者或两者兼而有之?
  • 如果为包含www.example.com的{​​{1}}设置的Cookie在一天内过期,则设置包含foo=bar的Cookie将在15分钟后过期,如果后一个Cookie过期后前cookie发送?

再编辑:

  • 如果为包含foo=baz的{​​{1}}设置了Cookie,之后为www.example.com设置了一个包含foo=bar Cookie的Cookie example.com应发送foo=baz

还修复了第二种情况

1 个答案:

答案 0 :(得分:5)

  • www.example.com可以使用www.example.com/path的Cookie吗?

  • example.com/path可以使用www.example.com的Cookie吗?

没有

  • 应该www.example.com能够为www.example.com/path设置Cookie吗?

(是)最有可能(Cookie路径不是安全功能)

  • www.example.com/path可以使用www.example.com的Cookie吗?

(否)Cookie不会发送到www.example.com,但www.example.com可以包含可以通过iframe获取Cookie的JavaScript。同样,cookie路径不是安全功能。

  • 应该www.example.com/path能够为www.example.com设置Cookie吗?

  • 如果为包含www.example.com的{​​{1}}设置了Cookie,之后为foo=bar设置了example.com的Cookie,foo=baz应该发送前example.com ,或后者或两者兼而有之?

后者,因为example.com无法访问www.example.com的Cookie。

  • 如果为包含www.example.com的{​​{1}}设置的Cookie在一天内过期,则设置包含foo=bar的Cookie将在15分钟后过期,如果后一个Cookie过期后前cookie发送?

不,因为第二个cookie会覆盖第一个。

  • 如果为www.example.com设置了包含foo = bar的cookie,之后为example.com设置了一个cookie,其中包含foo = baz应该发送哪些cookie?

未指明的行为。其中一个或两个(连接)似乎都是有效的。

How to handle multiple cookies with the same name

编辑:添加了对新问题的回答,更正了问题2并更改了答案。