1

我正在从我的浏览器调用一个 POST 请求(比如request A )。我在重定向请求时尝试在后端执行以下操作,

1) Clear a cookie value

2) Set 307 header value and

3) Adding Location header with redirect url (say request B) value.

(2)和(3)工作正常。

(1) 没有按预期工作。当调用请求 B时,cookie 值不会被清除 - 它会重用请求 A 中的值。有人可以提供一些关于此的见解吗?

4

1 回答 1

0

确保在 A 的响应中具有适当的 Set-Cookie 标头。某些 Web 应用程序框架在重定向时无法以通常的方式添加这些标头。

我已经通过使用这个简单的 CGI 测试了 Chrome 和 Edge (40.15063) 在 307 重定向中按预期处理 Set-Cookie(并因此清除 cookie):

#!/bin/sh

echo Status: 307 Temporary Redirect
echo "Content-Type: text/html"
printf 'Set-Cookie: Your-Cookie=; path=/; domain=Your-Domain; expires=%s' "$(date --rfc-2822 --utc --date='1 day ago')"
echo "Location: Your-B-url"
echo
于 2017-10-12T11:18:44.310 回答