Cookieの仕事原理とCookieプロトコル
2050 ワード
Netscape cookie草案の完全なSet-Cookieヘッダに従う:
Set-Cookieの各属性は以下のように説明されている. Cusstomer=hungxpの「名前=値」は、名前をcustomerに設定した値「hungxp」です.この属性はCookieに必要です. path=/fooは、どのアクセスがクッキーの送信をトリガするかを制御する.pathが指定されていない場合、cookieはこのサイトのすべてのHTTP転送時に送信されます.もしpath=/directoryが、次のページにアクセスしている場合のみ、cookieが送信されます.この例では、ユーザがディレクトリ/fooのコンテンツにアクセスする際に、このクッキーをブラウザから送信します.pathが指定されているが、pathが現在のアクセスのurlと一致しない場合、このcookieは無視されます. doman=.ibm.com指定cookieはどのコンピュータに送信されますか?正常な場合、クッキーは最初にユーザにクッキーを送信するコンピュータのみに戻される.この例では、クッキーは、任意のibm.comドメインのホストに送信される.domainが空に設定されると、domainはcookieを提供するWebサーバと同じに設定される.domainが空でなく、cookieを提供するWebサーバのドメイン名と一致しない場合、このCookieは無視されます. expires=Wedness day、19-OCT-05 23:40 GMTはクッキーが失効する時間を指定します.失効時間が指定されていないと、このクッキーはコンピュータのハードディスクに書き込まれず、このセッションが終了するまで継続されます. secureがSecureという語をSet-Cookieヘッダの一部として使用する場合、cookieは、セキュリティチャネルを介してのみ伝送される(現在のSSLチャネル).さもないと、ブラウザはこのCookieを無視します. ブラウザがクッキーを受信すると、このクッキーとリモートウェブサーバに対する連続要求が一緒にブラウザによって送信されます.例えば、前のクッキーはブラウザに預けられ、ブラウザはURLを要求しようとします.http://www.ibm.com/foo/index.html を選択すると、下のHTTPヘッダが遠端のWebサーバに送信されます.
典型的なネットブラウズの過程で、ブラウザはどうやってCookieを識別して処理しますか?ブラウザは、パケットのCookieの動作手順をWebサーバに応答するために、1.Webサーバの応答ヘッダからすべてのクッキーを抽出する.2.これらのクッキーの構成部分(名称、値、経路など)を解析します.3.ホストがこれらのクッキーの設定を許可しているかどうかを判定します.許可すると、これらのCookieを地元に保存します.(要求されたurlと) ブラウザは、Webサーバ要求のヘッダの中のすべてのCookieをスクリーニングするステップ:1.要求されたURLとローカルストレージクッキーの属性に基づいて、それらのCookieがWebサーバに送信されることができると判断する.2.複数のクッキーについて、送信の順序を判定する.3.送信したいCookieをHTTPヘッダに入れて一緒に送信します. ブラウザは、あるサイトのCookieを受け取るとき、Cookieのパラメータdomain、path、secureを確認し、現在のサイトとURLが一致するかどうかを確認します.一方では.ブラウザはCookieをアップロードする時、現在アクセスしているサイトの属性によって関連のCookieをアップロードしますが、他のCookieはアップロードしません.
Cookie仕様は、ブラウザが同時に記憶できるCookieの数について規定している.合計300個のクッキー 各Cookie 4 Kの記憶容量 各domainまたはserver 20個のcookie. リンク:http://www.ibm.com/developerworks/cn/java/j-cookie/
Set-Cookie:customer=huangxp; path=/foo; domain=.ibm.com;
expires= Wednesday, 19-OCT-05 23:12:40 GMT; [secure]
Set-Cookieの各属性は以下のように説明されている.
典型的なネットブラウズの過程で、ブラウザはどうやってCookieを識別して処理しますか?
Cookie仕様は、ブラウザが同時に記憶できるCookieの数について規定している.