ホームページ  >  記事  >  バックエンド開発  >  PHPのセッションとクッキーの違いは何ですか?

PHPのセッションとクッキーの違いは何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-11 11:34:094032ブラウズ

PHP におけるセッションと Cookie の違いは次のとおりです: 1. Cookie は http プロトコルを拡張することによって実装されますが、セッションは情報をハッシュ テーブルに似た形式で保存します; 2. Cookie は [クライアント] に保存されます, セッションは[サーバー]に保存されます。

PHPのセッションとクッキーの違いは何ですか?

php におけるセッションと cookie の違いは次のとおりです。

具体的には、cookie は次の場所に保存されます。 「クライアント」の「終了」、および session は「サーバー側」に保存されます。

1. cookie は http プロトコルを拡張することで実装されます

Cookie の主な内容: 名前、値、有効期限、パス、ドメイン;

Cookie にライフサイクルが設定されていない場合、ブラウザを閉じると閉じられます。 Cookie は通常、ハードディスクではなくメモリに保存されます。逆に、ライフ サイクルの設定は、ブラウザを閉じても消えません。これらの Cookie は、設定された有効期限が経過するまで有効です。

2. session ハッシュ テーブルのような形式で情報を保存します。

プログラムがクライアントのリクエストに対してセッションを作成する必要がある場合、サーバーは最初にクライアントを確認します。クライアントのリクエストにセッション識別子 (session id と呼ばれる) がすでに含まれているかどうか。

これが含まれている場合は、このクライアントに対してセッションが以前に作成されたことを意味します。サーバーはセッション ID に従ってこのセッションを取得し、それを使用します (取得できない場合は、新しいセッションを作成します) 1). クライアント リクエストにセッション ID が含まれていない場合は、このクライアントのセッションを作成し、このセッションに関連付けられたセッション ID を生成します。セッション ID の値は、繰り返されず、パターンを見つけにくい文字列である必要があります。このセッション ID は、この応答で保存するためにクライアントに返されます。

このセッション ID を保存する方法では Cookie を使用できるため、対話プロセス中にブラウザーはルールに従ってこの ID をサーバーに自動的に送信できます。通常、この Cookie の名前は SEEESIONID に似ています。

しかし、Cookie は人為的に禁止することができ、Cookie が禁止されている場合でもセッション ID をサーバーに戻すことができる他のメカニズムが必要です。

利点と欠点:

1. Cookie データはクライアントのブラウザに保存され、セッション データはサーバーに配置されます。

2. Cookie は安全性が高くなく、ローカルに保存された COOKIE を他人が解析して COOKIE を騙す可能性があります。

セキュリティを考慮するとセッションを使用する必要があります。

3. セッションは一定期間内にサーバーに保存されます。アクセスが増加すると、サーバーのパフォーマンスがより多く消費されます。

サーバーのパフォーマンスを軽減するには、COOKIE を使用する必要があります。

4. 1 つの Cookie によって保存されるデータは 4K を超えることはできません。多くのブラウザでは、サイトで保存できる Cookie は 20 個までに制限されています。

5. 個人的な提案:

ログイン情報などの重要な情報を SESSION として保存します

他の情報を保持する必要がある場合は、COOKIE

に配置できます。

関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで

以上がPHPのセッションとクッキーの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。