在303重定向上设置Cookie时,浏览器不会发送Cookie

时间:2020-07-23 08:04:10

标签: http cookies

当我在“ 303请参阅其他”响应中设置cookie时,下一个请求(具有重定向到的位置)不包含指定的cookie。 https://tools.ietf.org/html/rfc7231#section-6.4.4(在303响应中)似乎并未特别提及Cookie。我可以在当前的Firefox和当前的Chrome上重现该问题。从Host标头可以看到,所有这些标头都是基于相同的来源制成的。

失败

POST /login HTTP/1.1
Host: localhost:22242
HTTP/1.1 200 OK
content-type: text/html
content-length: 694
set-cookie: Authenticating=RrPWNaWsbC013k9QE9zzjJ5C2-c6DKHUnwoKZnL3-knY1aMlxpoGKIm5Kgc
date: Wed, 22 Jul 2020 15:13:14 GMT
POST /mfa/check HTTP/1.1
Host: localhost:22242
Cookie: Authenticating=RrPWNaWsbC013k9QE9zzjJ5C2-c6DKHUnwoKZnL3-knY1aMlxpoGKIm5Kgc
HTTP/1.1 303 See Other
content-length: 0
location: /
set-cookie: Session=k4Bx657138TS2SWdD6KXSxfUy9lddN89HdDOn5_dDLFfvFJwTdEpTGZ_4pw
date: Wed, 22 Jul 2020 15:13:53 GMT
GET / HTTP/1.1
Host: localhost:22242
Cookie: Authenticating=RrPWNaWsbC013k9QE9zzjJ5C2-c6DKHUnwoKZnL3-knY1aMlxpoGKIm5Kgc

后一个请求为什么不发送会话cookie?

作品

POST /login HTTP/1.1
Host: localhost:22242
HTTP/1.1 200 OK
content-type: text/html
content-length: 718
date: Wed, 22 Jul 2020 15:20:41 GMT
POST /mfa/check HTTP/1.1
Host: localhost:22242
HTTP/1.1 303 See Other
location: /
set-cookie: Session=0WGq8q3Z_chLgf6gUSUnPrivqa8jqvOQJRlDnY8XehQhN4QwIjk0FYwXajI
content-length: 0
date: Wed, 22 Jul 2020 15:21:41 GMT
GET / HTTP/1.1
Host: localhost:22242
Cookie: Session=0WGq8q3Z_chLgf6gUSUnPrivqa8jqvOQJRlDnY8XehQhN4QwIjk0FYwXajI

在这种看似相似的情况下,在303重定向之后正确设置了cookie。

1 个答案:

答案 0 :(得分:0)

这是一个PEBKAC:我发现这里的问题是Path标头中Set-Cookie参数的隐式默认值。 Path参数默认为当前路径,这意味着cookie不会发送到父路径。

因为我不太关注路径,所以可能我的示例请求/响应有误...我将检查问题所在。

相关问题