梨野さん、
他のブラウザでもクッキーの設定次第という話だと思います。
「クッキーのセット」と言ってもサーバ(CGI)側からは Set-Cookie: を出すだけで、それをどう扱うかはブラウザのクッキー受入れの設定次第ですから。
IE6 で少し細かく設定できるようになったということでしょう。
HTTP_COOKIE はブラウザからリクエストに Cookie: ヘッダがあればセットされます。
AN HTTPD では trace.log でリクエストヘッダをみれば、ブラウザが Cookie: ヘッダをつけているかどうかは確認できます。
ついでに、
一般に、HTTP_* という環境変数は、いくつかの例外をのぞいて、ヘッダ名を大文字にして ハイフンはアンダースコアにして HTTP_ に続ける、ということになっています。
たとえば User-Agent: というヘッダの内容は HTTP_USER_AGENT にセットされる、という具合です。
クッキー解決!
IE6のクッキーの扱いに問題がありました。
(検索用) IE6 IE6 6 クッキー 問題 注意 cookie 保存
それぞれ下のリンクに答えがあります。
http://kumaetc.s5.xrea.com/ie6/
http://www.cuoca.com/html/ie6.html
http://www.itagent.co.jp/ec/dousa/ie6.html
http://www.e-connect.jp/cgibin/COOKIE.html
最悪や〜。 自分で作ったライブラリのバグだとばっかり思ってた・・・。
中田様、速攻のご返事ありがとうございます。
CGI(C++)で、Cookieをセット(セットした内容は、あるファイルにデバッグ用にセーブしてます)して、ブラウザを閉じて、もう1回アクセスを試みてもIE6.0ではHTTP_COOKIEが空なんです・・・。
でも、Netscape6.2では、まったく大丈夫なんですよ。(Netscapeで、問題があってもすぐにメニューからクッキーの内容が見れるのでデバッグにも楽ですし。IEって簡単にクッキーの内容見れないですよね?)
いまどきC/C++でCGI作成なんてしてる人少ないから、情報もあまり得られなくて・・・。
でも、C/C++の速さは捨てられないですし・・・。
↑の症状からして、クッキーのセットに99%問題があると思うんですよ。
もし・・・そのソース送ったら覗いてもらえます?? 当然、中田様の暇なときに・・・。
よろしくお願い致します。
ps)
パスとかドメインとか関係あるんですかね? 私のはパス、ドメイン両方を省略しています。
(いちよう、パス、ドメイン両方を付け足して試しましたがダメでした。
その時の、パスは/のみで、ドメインは環境変数のSERVER_NAMEで得られる値を使いました。)
クッキーの「クッキーが届きません」というのは、ブラウザからのリクエストヘッダに Cookie: が出ないという意味ですか?
サーバからの Set-Cookie: などの応答ヘッダの順番は、ブラウザにとってはどうでもいいはずです。
・・・と、ところでなんですが、Cookieの壁にぶちあたりました・・・。
Content-type: text/html(\n)
Set-Cookie: TEST_XYZ=foobarfoobar; expires=Date: Sat, 02 Feb 2002 14:44:15 GMT;(\n)
(\n)
のようにCookieを送信しています。 Netscape6.2では、いったんブラウザを閉じて、もう1回そのページを閲覧してみると、しっかりとクッキーが得られる(persistent cookie?)のですが、IE6.0だと1回ブラウザを閉じて、もう1回開いてみてもクッキーが届きません・・・。(session cookie ?) ブラウザを閉じなければ、更新ボタンを何回押してもしっかりとクッキーはIEに届きます。
↑のクッキーのセットの仕方が間違っているのでしょうか? クッキーの事が書いてあるサイトとかを回っているのですが、あるサイトは、Content-typeの前にクッキーをセットしてあったり、あるサイトではContent-typeの後にクッキーをセットとかで、頭がこんがらがっています・・・。
助け舟お願いしてもよろしいでしょうか??