概要
このドキュメントでは、HTTP Cookie の概要と、セッション Cookie と永続的な Cookie の違いについて説明します。
背景説明
Cookie は、Web サーバがブラウザに送信する文字列データです。将来、ブラウザが同じドメインのオブジェクトを要求する際、ブラウザは同じ文字列データを元のサーバに送り返します。
このデータは、「Set-Cookie」と呼ばれる HTTP ヘッダーの形式で Web サーバから送信されます。 ブラウザは、「Cookie」と呼ばれる HTTP ヘッダーの形式で Cookie をサーバに送り返します。
HTTP Cookieトランザクションの例を次に示します。
Web サーバからの HTTP 応答:
[...]
Set-Cookie: first.lastname
クライアントからの HTTP GET:
[...]
Cookie: first.lastname
サンプルトランザクションでは、Web サーバがクライアントに「first.lastname」という Cookie を作成するように指示しました。 次回クライアントがこのドメインからのオブジェクトを要求するときに、要求とともに Cookie が送信されます。このサンプルは、Web サーバがユーザログインなどの特定の情報を呼び出す方法を例示しています。
Cookie の種類
Cookie には、セッション Cookie と永続的な Cookie の 2 種類があります。Cookie に期限日が含まれていない場合は、セッション Cookie と見なされます。セッション Cookie はメモリに保存されますが、ディスクに書き込まれることはありません。ブラウザが閉じると、クッキーはこの時点から永久に失われます。クッキーに有効期限が含まれている場合、永続クッキーと見なされます。期限で指定された日付に、Cookie はディスクから削除されます。
Cookie には、セミコロンで区切った複数のフィールドを含めることができます。定義は次のとおりです。
expires
expires="Wdy, DD-Mon-YYYY HH:MM:SS GMT"
Cookie をいつ削除するかを指定します。
path
path=/
Cookie を返すパスを指定します。この例では、ドメイン内のルートパスに移動するときに Cookie が送信されます。
ドメイン
domain=whatever.domain.com
Cookie が使用されるドメインを指定します。このドメインが現在参照されているドメインと一致しない場合は、「サードパーティ Cookie」と見なされ、ブラウザによって拒否されます。その結果、あるドメインに別のドメインの Cookie が設定されることが防止されます。