クッキーとは?/ モビット
[ 595] HTTP cookie - Wikipedia
[引用サイト] http://ja.wikipedia.org/wiki/HTTP_cookie
|
HTTPは元来ハイパーテキストにおいて単にファイル転送を行うために開発されたため、同じURLへのアクセスならその状況によらず同一の資源[1]を提供することが前提となっている。HTTPはその意味で現在においてもステートレスなプロトコルである。 その一方でWorld Wide Webが普及するにつれ、状況によって異なる内容のページを提供したい[2]というニーズが生まれた。そのようなニーズをHTTPのみで満たすには、IPアドレスによって区別する、状態を表現したユニークなURLを生成するなどの方法がある。しかし、プライベートネットワークからのアクセスを区別できない、本来二度起きない状態が同じURLにアクセスすることで何度も発生する、セキュリティの問題などいずれも容易に解決できない欠点を抱えていた。 サーバはその識別子を元にコンテンツの内容をユーザに合わせてカスタマイズし、ブラウザに渡す。必要があれば新たな識別子もHTTPヘッダに含める。 Cookieの最も代表的な用途は、ショッピングサイトにおけるカートやログイン状態の管理である。また、IPアドレスによらないクライアントの識別を可能にするため、Webサイト運営者やインターネット広告配信業者などがユーザの詳細なアクセス履歴を取得する用途にも使われる。 例えば特定のページの表示回数を、ウェブページ上に表示したいときには、おおむね次のようなやりとりが行われる。 ログインページからユーザ名とパスワードをサーバーに送信する。この時点でcookieは使われていない。 サーバーは、ユーザ名とパスワードを確認し、ユーザーにカスタマイズされた「ログイン成功」のページを送信するともに、ユーザー名とパスワードを(そのままではないが)cookieとして送信する。 次の閲覧からはブラウザがページ閲覧要求とともに先のcookieを送信する。サーバーはcookie情報によってユーザにカスタマイズされたページを送信する。 上述のように、通常のウェブブラウザでは、ブラウザに保管されたcookie情報は、その情報を送ったサーバー以外のサーバーに送信されることがない。その上で、サーバーからブラウザにcookie情報を送信する段階で、どのページを閲覧したときにcookie情報を送り返すのかという情報が付加されている。 ^ ウィキペディアを例に挙げると、同じURLでもログインしていない場合はページの一番上が「ログインまたはアカウント作成」、している場合は「(ユーザ名) マイ・トーク オプション ウォッチリスト 自分の投稿記録 ログアウト」と表示が変化する。 |