302リダイレクト中にCookieを送り返す際に問題はありますか?たとえば、return-to-url cookieを作成し、同じ応答でユーザーをリダイレクトすると、(現代の)ブラウザーはcookieを無視しますか?
ほとんどのブラウザは302リダイレクトでCookieを受け入れています。私はそれを確信していましたが、少し検索しました。すべてのmodernブラウザーではありません。 現在削除されている/デッド/からのインターネットアーカイブリンクMicrosoft connectQ/A onSilverlight Client HTTPスタックは302リダイレクトレスポンスでSet-Cookieを無視します(2010)
IE6の代替品があり、Windows Mobileブラウザだと思います...
このブログ投稿によると、 http://blog.dubbelboer.com/2012/11/25/302-cookie.html すべての主要なブラウザ、IE(6 、7、8、9、10)、FF(17)、Safari(6.0.2)、Opera(12.11)WindowsとMacの両方で、リダイレクトにCookieを設定します。これは、 301と302の両方のリダイレクト。
1つの通知(開発者の命を救うため):
IEおよびEdgeは、Cookieのドメインがlocalhostの場合、リダイレクト応答でSet-Cookieを無視します。
解決策:
127.0.0.1をlocalhostの代わりに使用します。
ここ は、この問題のChromiumバグです(ステータス302のHTTP応答ではSet-cookieは無視されます)。
これは本当にアプローチに眉をひそめていますが、30xセットCookieブラウザーの動作に依存したくない場合は、HTML meta http-equiv="refresh"
Cookieを設定するときの「リダイレクト」。たとえば、PHPの場合:
<?php
...
setcookie("cookie", "value", ...);
url="page.php";
?>
<html>
<head><meta http-equiv="refresh" content=1;url="<?=$url?>"></head>
<body><a href="<?=$url?>">Continue...</a></body>
</html>
サーバーは適切な300xリダイレクトではなく200でSet-Cookieを送信するため、ブラウザーはCookieを保存してから「リダイレクト」を実行します。 <a>
リンクは、ブラウザがメタリフレッシュを実行しない場合のフォールバックです。