ホームページ  >  記事  >  ウェブフロントエンド  >  明らかになった: Cookie がコンピュータ上で保存される場所

明らかになった: Cookie がコンピュータ上で保存される場所

WBOY
WBOYオリジナル
2024-01-19 10:38:051134ブラウズ

明らかになった: Cookie がコンピュータ上で保存される場所

インターネットの普及により、Web ページを開くたびに、ブラウザはユーザー名、パスワード、Web サイトの設定やその他の情報などのデータを自動的に保存します。このデータは、エンコードされてコンピュータに保存される Cookie です。では、Cookie はどのように保存されるのでしょうか?以下では、コンピューター上の Cookie が保存される場所と、関連するコード例を示します。

初めて Web サイトにアクセスすると、サーバーは http 応答ヘッダーに Set-Cookie ディレクティブを追加します。このディレクティブには、ローカル コンピューターに保存されている Cookie 識別子と Cookie に対応する値が含まれます。後続の各リクエストでは、ブラウザは http リクエスト ヘッダーに Cookie フィールドを追加して、以前に保存された Cookie 情報を伝えます。

それでは、Cookie はどのようにしてローカル コンピューターに保存されるのでしょうか?答えはブラウザのキャッシュ フォルダーの下にテキスト ファイルとして保存されます。たとえば、Chrome ブラウザを使用している場合、ローカル ディスク パス「C:UsersyourusernameAppDataLocalGoogleChromeUser DataDefault」の下に Cookie フォルダーがあり、Web サイトに関連するすべての Cookie 情報が保存されています。

以下は JavaScript を例とした簡単なコード例です。コードを使用して Cookie 情報を読み書きする方法を理解しましょう。

Cookie 情報の書き込み:

function setCookie(name, value, days) {
  var date = new Date();
  date.setTime(date.getTime() + days * 24 * 3600 * 1000); //设置cookie过期时间
  var expires = "; expires=" + date.toGMTString(); 
  document.cookie = name + "=" + value + expires + "; path=/"; //设置cookie
}

この関数には、Cookie の名前、値、有効期限という 3 つのパラメーターがあります。このうち、名前と値はそれぞれ Cookie に対応するキーと値のペアを表し、日数は Cookie の有効期限 (日数) を表します。

Cookie 情報の読み取り:

function getCookie(name) {
  var prefix = name + "=";
  var cookies = document.cookie.split(';');
  for(var i=0; i<cookies.length;i++) {
    var cookie = cookies[i];
    while (cookie.charAt(0) == ' ') cookie = cookie.substring(1,cookie.length); //去掉cookie中多余的空格
    if (cookie.indexOf(prefix) == 0) return cookie.substring(prefix.length,cookie.length); //找到cookie并返回值
  }
  return null; //找不到则返回null
}

この関数には、Cookie の名前であるパラメーターが 1 つあります。この関数は、最初に document.cookie 属性を通じてすべての Cookie 情報を取得し、次に各 Cookie を走査し、その名前を 1 つずつ比較して、指定された名前と同じかどうかを確認します。対応する Cookie が見つかった場合はその値が返され、それ以外の場合は null が返されます。

Cookie を使用する場合は、次の問題にも注意する必要があります。

  1. Cookie サイズの制限: ブラウザごとに Cookie のサイズに異なる制限があり、通常は 4KB ~ 20KB です。 。 Cookie の値がこの制限を超えると、サーバーは Cookie 情報を認識できなくなります。
  2. Cookie のセキュリティ問題: Cookie データはクリア テキストで渡されるため、Cookie が傍受されたり、悪意のある改ざんが行われたりすると、システム データのセキュリティが脅かされます。したがって、機密情報を保存する場合は、暗号化またはその他のより安全なテクノロジーを使用する必要があります。
  3. Cookie の有効期限: Cookie の有効期限が切れると、Cookie は自動的にクリアされますが、有効期限が切れる前に、同じサイトが同じ Cookie に複数回書き込むと、その後の書き込みによって前の値が上書きされます。したがって、Cookie を書き込むときは、有効期限とドメイン名の範囲に注意する必要があります。

要約すると、Cookie は HTTP プロトコルを通じてクライアントとサーバーの間で対話するテクノロジーであり、HTTP 送信プロトコルの一部として、Web サイトの設定情報の一部をクライアントに保存できます。したがって、Web サイトのパフォーマンスとユーザー エクスペリエンスに一定の影響を与えます。 Web 開発を行う場合、Cookie に関する関連知識を理解すると、開発効率とユーザー エクスペリエンスを効果的に向上させることができます。

以上が明らかになった: Cookie がコンピュータ上で保存される場所の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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