- ベストアンサー
htmlにアクセスしたときにperlでクッキーを保存
perlにアクセスしたときにクッキーに保存するのはわかるのですが、 htmlにアクセスしたときにperlでクッキーを保存するようにしたいのですが、 どのようにしたらいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>perlにアクセスしたときにクッキーに保存するのはわかるのですが、 う~ん。分かってない。 Cookieは、HTTPサーバーにファイルを要求するときのヘッダ(HTTP要求ヘッダ)に加えて送信され、HTTPサーバーからの応答ヘッダに加えて送信されるもので、「Cookieに保存される」のではなく、Set-Cookieとして送信されたデータをブラウザがデータとして保存しているものです。 たとえば、このページにアクセスすると GET /qa4877985.html HTTP/1.1 Host: oshiete1.goo.ne.jp User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 ・・・【中略】・・・ Referer: http://oshiete1.goo.ne.jp/mypage_interest.php3?start=20&pt=0&k=&qt=all Cookie: __utma=3447・・・【中略】・・・; のように送信され HTTP/1.x 200 OK Date: Tue, 14 Apr 2009 02:09:18 GMT Server: Apache Set-Cookie: c_sid=・・・【中略】・・・ のようにかえって来るものです。 したがって、 >htmlにアクセスしたときにperlでクッキーを保存するようにしたいのですが、 ではなくて、HTTPサーバーから、そのファイルのmimeがなんであれ(HTMLであろうがGIFであろうがJPPEGであろうが無関係)、応答ヘッダにSet-Cookieコマンドを含めればよいだけです。 このosieteのページにアクセスすると、HTMLを返す時の応答ヘッダに書き加えるということです。 ですので質問は、 >サーバーから(HTML)ファイルを提供するときに、Set-Cookieコマンドを含める方法は? ということですから、 >perlにアクセスしたときにクッキーに保存するのはわかるのですが、 と同じ方法でよいということです。perlではなくて、 「Perlで書かれたCGIがファイルを提供するとき」と同じ方法で、
その他の回答 (1)
- zxcv0000
- ベストアンサー率56% (111/196)
Cookie 書き込みの基本的な方法はふたつです。 1 レスポンスヘッダに Set-Cookie: を含める。 これは、普通はCGIで行います。 # 他の方法が知りたいと言うご質問なんですね? 2 JavaScript で document.cookie を設定する。 # この方法で良いでしょうか?