ホームページ >バックエンド開発 >PHPチュートリアル >HTTP 状態管理メカニズム Cookie、状態メカニズム cookie_PHP チュートリアル

HTTP 状態管理メカニズム Cookie、状態メカニズム cookie_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:00:491011ブラウズ

HTTPステータス管理メカニズムのCookie、ステータスメカニズムCookie

1. Cookieの起源

Cookie は 1993 年 3 月に Netscape の従業員 Lou Montulli によって初めて発明され、その後 W3C によって採用されました。現在、Cookie は標準となり、IE、Chrome、Firefox、Opera などのすべての主流ブラウザーでサポートされています。

Cookie の誕生は、HTTP プロトコルの固有の欠陥によるものです。HTTP は、リクエスト/レスポンスが完了すると、クライアントとサーバー間の接続が閉じられ、新しい接続を確立する必要があります。再度データを交換します。これは、サーバーが接続からセッションを追跡できない、つまり、サーバーがどのクライアントであるかを認識できないことを意味します。


ログイン/ショッピングカートなどの一部の一般的なアプリケーションは実装できません。たとえば、ユーザー A がショッピング モールで購入した商品は、ユーザー A がいつ購入しても同じセッションに属しており、ユーザー B またはユーザー C のショッピング カートに入れることはできません。同じセッションに属していません。

基本原理は図の通りです

2. クッキーの操作

Cookieに対する操作には以下が含まれます

Cookie は主にサーバー側で作成されますが、JS も Cookie を作成できますが、HttpOnly タイプの JS は作成できないことに注意してください。

ブラウザが提供するCookie API(document.cookie)は単純すぎるため、次のようにsetter/getter cookie関数を使用するとより便利です

。 リーリー

もちろん、より便利な機能を提供する https://github.com/florian/cookie.js もあります。

3. クッキーの種類

たとえば、Sina Cloud のページ http://snandy.sinaapp.com/php/cookie.php をテストするとき、c1、c2、c3 という 3 つの Cookie を植えました

リーリー

Firefoxでアクセス

私は3種類の品種を持っていますが、サウトは新浪雲で栽培されています。

Firebug コンソールに document.cookie と入力します

c2 と c3 にアクセスできないことがわかります。 c2 は安全な Cookie であり、https プロトコルでアクセスする必要があります。c3 は httpOnly であり、JS ではアクセスできないことに注意してください。

アクセスプロトコルを https: https://snandy.sinaapp.com/php/cookie.php に変更し、firebug コンソールに切り替えて document.cookie と入力すると、c2 が表示され、アクセスできるようになります

4. クッキーの落とし穴

1. Cookie が大きすぎる場合、または Cookie が多すぎる場合は、ページにアクセスするとエラーが報告されます。たとえば、次のようなプロンプトが表示されます。

そのため、サイトのCookieは管理する必要があり、自由にCookieを植えることはできません。さらに、Cookie を指定された範囲に制限するパスを指定するようにしてください。

ウェブサイトのブラウザcookielimits.squawky.netは、各ブラウザのCookieサイズを記録します

2. 中国語を保存する場合は Unicode エンコード (encodeURIComponent) が必要です。そうしないと保存された文字が文字化けします

www.bkjia.com本当http://www.bkjia.com/PHPjc/1091269.html技術記事 HTTP 状態管理メカニズム Cookie、状態メカニズム Cookie 1. Cookie の起源 Cookie は 1993 年 3 月に Netscape の従業員である Lou Montulli によって最初に発明され、その後 W3C によって採用されました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。