今日は、Cookie とセッションの違いと、それぞれの適用範囲について説明します。非常に優れていると思いますので、お役に立てれば幸いです。
Cookie:
Web サイトでは、http リクエストはステートレスです。つまり、サーバーに接続して初めてログインに成功した後でも、サーバーは現在のリクエストがどのユーザーであるかを 2 回目ではまだ知ることができません。
Cookie の登場は、この問題を解決するものです。初めてログインした後、サーバーはブラウザにデータ (Cookie) を返し、ブラウザはそれをローカルに保存します。ユーザーが 2 番目のメッセージを送信すると、ブラウザはそれをローカルに保存します。リクエスト、最後のリクエストに保存された Cookie データは自動的にサーバーに送信され、サーバーはブラウザによって送信されたデータを通じて現在のユーザーを判断できます。
Cookie によって保存されるデータの量には制限があります。ブラウザごとに保存サイズは異なりますが、通常は 4KB
を超えません。したがって、Cookie には少量のデータしか保存できません。
session:
session と cookie の機能は似ており、両方ともユーザー関連の情報を保存することです。
違いは、Cookie がローカル ブラウザに保存されるのに対し、セッションはサーバーに保存されることです。サーバーに保存されたデータはより安全になり、盗まれる可能性が低くなります。ただし、サーバー上に保存するとサーバーのリソースを占有してしまうというデメリットもありますが、サーバーが発達した現在では、セッション情報はある程度あれば十分です。
session は key-value
形式のデータで、そのキー session_id
は cookie に保存され、値 session_data
は次のようになります。サーバーに保存されています。key
を通じて value を取得します。
Cookie の有効期限とセッション タイムアウトの違いは何ですか?
セッション タイムアウトはサーバーによって維持され、Cookie の有効期限とは異なります。まず、セッションは通常、メモリ常駐 Cookie に基づいていますが、これは永続的な Cookie ではないため、有効期限がありません。 JSESSIONID Cookie が傍受された場合でも、有効期限が設定されて送信されます。ブラウザ セッションとサーバー セッションは大きく異なる場合もあります。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP における cookie と session の違いについての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。