にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:23:39.

Cookieを発行した直後にリダイレクトしたい

CGIからCookieを発行した後に、Locationを使って別のページにリダイレクトしたい場合、とりあえずCGIから「Cookieを吐く行」と「移動先を指示する行」の2行を出力すればうまくいったんだけど、どうもネット上で情報を検索してみると、それではうまくいかない(Cookieがセットされない)場合があるらしい。

Perlのソースは、こんな感じ。

my $cookie = $cgi->cookie(-name =>'hoge', -value => $hoge );
print "Set-Cookie: $cookie\n";
print "Location: $url\n\n\n";

どうも、WebサーバがApacheの場合はうまくいくものの、IISの場合だとうまくいかない場合があるらしい。これって、ブラウザ(ユーザエージェント)側の問題だと思うのだけど、Webサーバによって(ブラウザの)挙動が異なるなんてあるんだろうか?

まあ、IIS使って実験してみりゃ分かることではあるのですが。(^^;;;

「Cookieは受け取るけどリダイレクトはしない」というならまだマシな気がするんだけど、「Cookieを受け取らずにリダイレクトする」というのだと困るなあ…。

確実にCookieを渡してリダイレクトするには、Locationを使わずに、meta要素を使ってリダイレクトするよう記述したHTMLを出力すべきなんだろうか?
…まあ、それでもいいけどね…。あんまり(ユーザの視点から)スマートな移動に見えないんだけど。

うーむ。

…というようなことを考えてたところで、そろそろ帰宅せねばならん時刻なので、今、私のブラウザで開いてるWebページをいろいろメモしておこう。

あと、そういえば、XML::Simpleについても調べてたんだっけ。

まあ、そんなとこで。
メモ終わり。

むう。今日開発したソースをノートPCにLAN経由でコピーしてる暇がなさそうなので、とりあえず、USBフラッシュメモリにコピーするか…。
…って、こんなことを書かずに、作業だけすればもっと余裕あるんだけど。(笑)

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---