当用户登录时,我正在尝试将会话 cookie 设置为仅限于特定路径(比如说/foo
)。复杂之处在于登录页面已打开/
,但请求会立即重定向到/foo/something
. 像这样的东西:
要求:
POST / HTTP/1.1
username=foo&password=bar
回复:
HTTP/1.0 302 Found
Location: http://example.com/foo/home
Set-Cookie: session=whatever; path=/foo
但是,我可以找到的 RFC 的相关位(rfc2109和rfc2965)是这样说的:
为防止可能的安全或隐私侵犯,如果以下任何一种情况属实,用户代理将拒绝 cookie(不应存储其信息):
- Path 属性的值不是 request-URI 的前缀。
...
上面描述的 cookie 设置过程似乎可以正常工作,但据我所知,RFC 说不应该。
我想在生产系统中使用它,但如果我以后要面对可怕的浏览器不兼容问题,我真的不想这样做。
我是否误读了 RFC?
提前致谢!