CookieとSessionのフロントエンドについて簡単に話します

1850 ワード

Cookie

Cookieは、サーバからクライアントに送信される特殊な情報であり、一般的には異なるユーザーを識別したり、簡単な情報をマークしたりするために使用されます.
これらの情報はクライアントに格納され,クライアントはサーバに要求を送信するたびにこれらの特殊な情報を持ち込み,識別する.

使用

サーバ設定応答cookies
フロントエンドの分野では、クッキーを簡単に認識して使用するために、一般的にはクッキーのパッケージを使用しています.まず、彼をインストールする必要があります.
npm i cookies

クライアントがサーバにアクセスすると、nodejsを使用してバックグラウンドでcookies.set('name','information')を介してクライアントにCookieに応答します.
以降のすべてのクライアントが発行した同じドメイン名の下のすべてのリクエストはcookiesを持ってきて、私のサーバーに返信します.
クライアント取得cookiescookies.getは、返送されたcookiesを取得できます.
 var getting = browser.cookies.get({
    url: url,
    name: "xxx"
  });

urlはコールバッククッキーの関連パスであり、nameはコールバッククッキーの名前である
Cookiesの有効期限
cookiesの有効期限は一般的にセッションです.つまり、ブラウザが閉じた後、cookiesは自動的に空になります.各ブラウザの間にはわずかな違いがあり、閉じた後にクッキーを削除するブラウザもあります.
cookiesの格納形式
各ブラウザには独自のクッキー格納形式があり、ブラウザ間では使用できませんが、現在のブラウザで新しいTABページングを開くとクッキーを共有できます.
また、ブラウザステルスモードでは、閲覧履歴がなく、クッキーストレージにも痕跡が残らない
クッキーの欠陥
  • cookieはクライアントに格納されており、サーバ負荷を効果的に軽減することができるが、クライアントによるcookie詐欺
  • にも利用されやすい.
  • cookieのサイズ下限は4 Kであるが、クライアントの要求や応答のたびにcookieを持参することを考慮すると、ブラウザも一般的に上限が4 kであることを制限し、一般的に大量のデータを格納できない
  • である.
    Session##
    Sessionは、Cookieがエンドブラウザに保存され、Sessionがサーバに保存されるのとは異なり、ユーザーの状態を記録する別の方法です.ある角度から言えば、sessionの出現は、クッキーの欠陥を効果的に補うためである.
    原理と作用
    サーバ側でセッションオブジェクトを作成し,ユーザのキー情報をオブジェクトに書き込み,ユーザアーカイブを形成し,ユーザが訪問したときにユーザアーカイブを問合せ,データを返すことができる.
    ユーザーを一意のIDで管理し、クライアントのクッキー詐欺をある程度防止することができます.
    他の属性で特殊な属性をマークし、クッキーのサイズに制限されず、必要に応じて返され、往復の不要なデータ量が大きすぎてネットワークが詰まることはありません.
    sessionの欠陥
    セッションは一定時間サーバに保存されます.アクセスが増えると、サーバのパフォーマンスが消費され、サーバの負荷が増大します.
    まとめ
    一般的にhttpリクエストと応答は、クッキーとセッションを同時に使用し、クッキーは簡単なデータ転送に使用されるが、ネットワーク間のデータ転送量を増やさず、セキュリティとデータの複雑さを考慮してセッションも同時に使用される.