2006 年 9 月 8 日 23 時 11 分

Cookie: 状態管理の仕組み


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


URL にパラメータを埋め込む方法での状態管理には、
色々な問題や制約が付きまとう。

この問題に一石を投じたのは、かつて WWW 時代の黎明期に、
Microsoft と Web ブラウザのシェア争いをしていた、
Netscape Communications 社である。

HTTP の機能に不満を持っていた、Netscape は、
独自の方法によって状態を管理する仕組みを作り、
同社の Web サーバ製品であった Enterprise Server と、
Web ブラウザ Navigator に搭載した。

この機能は「Cookie」や「HTTP Cookie」と呼ばれている。

Web サーバは、独自の HTTP ヘッダを追加して応答し、
Web ブラウザは、受け取ったこの情報を記憶しておき、
次のリクエストの際には、HTTP ヘッダに追加して
送信することで、状態を共有するというわけである。

この機能は、ライバルであった Internet Explorer が、
Netscape Navigator の仕様を採用したことにより、
広く普及し、現在でも事実上 WWW での標準となっている。

WWW は時代と共にビジネス市場に変わりつつあった。
Cookie は、その単純さに反して効果は覿面であり、
Web サイトの機能性や表現力向上に大きく貢献したため、
HTTP における規格化を待たずして製品に投入された。

IETF では、Cookie を規格化し、標準とするため、
Netscape の定めた Cookie 規格を拡張したものを
RFC 2109 と RFC 2965 の 2 度に渡り発行しているが、

現時点で各社の Web ブラウザや Web サーバが、
これら RFC に従う動きは見えていない。

Netscape の定めた Cookie は、
以下の URL にその仕様が記載されており、
現実的には、これが唯一の実装仕様となっているのだ。

■ Client Side State - HTTP Cookies
http://wp.netscape.com/newsref/std/cookie_spec.html

では、明日は具体的な Cookie の仕組みを見てみよう。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.