Cookieは、そのサイトで何をしたか何を選んだかなどの情報をPCに保存しておき、サイトにアクセスした時に送られる情報が書かれているファイルです。セッションIDとは、そのサイトに接続している状態を識別するIDです。ですので次にそのサイトにアクセスした時には別のセッションIDになっていたりします。そんな感じかと思います。
freemannさま連絡が遅れてしまました。失礼しました。そうしますと、Cookieには、その仕組が利用され、サイトで何かをしたり選んだりした情報が(クライアント側に)保持され、次回に、関連するサイトにアクセスしたときに、その情報が、そのサイトに送られる。。そういう理解になりましょうか。
自分の認識ではそういう感じだと思います。例えばあるネットショップのサイトで商品を閲覧したとします。すると他のサイトを見ている時に広告に自分が先ほどのネットショップで閲覧した商品が表示されたりするのもCookieで情報を得ているのではないかなと思っています。
お返事、ありがとうございます。ご回答を頭の片すみに入れ、なにかの折りに、またセッションIDとCookieの問題に出会ったときは、引き戻って、考えてゆきたいと存じます。
Cookie はサーバーとWebブラウザ(クライアント)が HTTP で stateful に通信をするための仕組みとそのデータ自体を指す言葉です。Cookie は、クライアントがサーバーにアクセスする際の HTTP 通信に HTTP ヘッダーとして付与され、サーバーからレスポンスを返す時に Cookie を変更することが可能です。セッション ID は、サーバーがセッション(この文脈ではサーバーと特定のクライアントの相互通信を意味する)を特定するために使う識別子のことです。クライアントを特定する際に、Cookie にセッション ID を格納しておくことで、サーバーサイドでクライアントを特定することを可能にする方式がよく用いられます。
No.1 の方の回答は「Cookie は~ファイルである」と読めますが、分かりやすさを重視した結果なのかわかりませんが間違った説明となってしまっています。HTTP Cookie の RFC(仕様) を file で検索すれば一切ファイルとは関係ないことが分かります。http://tools.ietf.org/html/rfc6265
Cookie とセッション ID の違いについて書き忘れていました。比較可能な概念ではないため、違いを説明するより関係性について説明します。「セッション ID による状態管理に Cookie の仕組みを使う」というのが質問者が求めている説明になるかなと思います。
syamaokaさまなかなか、statefulの概念がつかめなかったこともあり、返答が遅れてしまいました。失礼しました。セッションIDは、セッションの際に、サーバがクライアントを特定するために(文字どおりセッションしているあいだ)一時的に利用される。それは分かる気がします。Cookieですが。。ちょっと違う角度から質問いたします。もし、Cookieが発明(?)されていなかったら、ウェッブの利用に、どんな不都合が生じたでしょうか? お時間のあるとき、ご回答いただけると幸いです。
どうも私では質問者の方が理解できる説明はできないと判断したため、これ以上回答はしません。
技術に詳しくない者が、ある技術について知りたいと思うと、どうしても、自分に引き寄せて質問してしまう。少なくとも、当方には、そういう傾向があるようです。質問に答えてくださる方には(技術を説明する立場の方にとっては、正確に説明をせざるを得ないこともあるだろうし)「あれ、無理強いしちゃったなぁ」などと思ったりもします。お手数をおかけしました。余談になりますが、技術に詳しくない者が、技術に詳しい方に質問できる「人力検索」は、助かるプラットフォームだなぁと思ったりして。
Don't take it so seriously. I just said I couldn't explain well.
freemannさん、syamaokaさん、もう少し時間をくださいませ。追って、自分なりの理解をご返答したいと存じます。
コメントはありません