HTTP Cookie🍪


HTTP Cookieとは?


HTTP Cookie(Web Cookie、ブラウザCookie)は、サーバがユーザWebブラウザに送信する小さなデータブロックである.ブラウザは、これらのデータ・ブロックを保存し、同じサーバで再要求したときに一緒に送信します.Cookieは主に2つのリクエストが同じブラウザから来たかどうかを判断するために使用されます.ex)ユーザのログイン状態を保持する.これは,無状態HTTPプロトコルが状態情報を記憶するためである.
  • クライアントが格納管理するデータを使用すると、ブラウザを閉じても
  • を維持できます.
  • サーバ上でset-Cookieを応答ヘッダとし,クライアントが受信して保存する.
  • は、クライアント上で
  • を自分で操作することができる.
  • 角状態で寿命を定めることができる.
  • 目的

  • セッション管理:サーバに格納するログイン、カート、スコアなどが必要...
  • パーソナライズ:ユーザーの好み、テーマなどを設定する
  • 追跡:ユーザーの動作を記録および分析するために使用
  • セッションとは、接続から通信完了までの瞬間の
  • セッションのことである.
  • HTTPセッションとは、クライアントがWebサーバに接続した時点からWebブラウザを閉じ、サーバとのHTTP通信を終了する期間
  • をいう.
    従来,クライアント側に情報を格納する唯一の方法はCookieを用いることであったが,現在では現代のストレージAPIを用いて情報を格納することを提案している.各リクエストがCookieを同時に送信するため、パフォーマンスが低下する可能性があります.
    情報を格納するには、受注APIのWebストレージAPI(localStorageおよびsessionStorage)およびIndexedDBを使用します.

    HTTP Cookie起動方式



    写真ソース
    HTTPリクエストを受信すると、サーバは応答と同時にset-Cookieヘッダを送信することができる.通常はブラウザで保存され、以降同じサーバで作成されたリクエストのCookie HTTPヘッダで送信されます.
    簡単なクッキーは次のように設定できます.HTTP応答ヘッダはサーバからユーザエージェントに送信される.
    Set-Cookie: <cookie-name>=<cookie-value>
    サーバヘッダはクライアントにCookie→rightArrow→サーバに送信されたすべての要求を転送し、ブラウザはCookieヘッダを使用して以前サーバに保存したすべてのCookieを返信します.

    Cookieのライフサイクル


  • 現在のセッションの終了時にセッションCookieを削除します(ページを閉じるとき).ブラウザは現在の新しいセッションが終了する時点を定義し、一部のブラウザは再起動時にセッションを復元し、セッションクッキーが無限に存在できるようにします.

  • 永続的なCookieは、Expiresプロパティで指定した日付またはMax-ageプロパティで指定した時刻以降に削除されます.
  • Secure CookieとHTTPONLY

  • 安全Cookie
  • HTTPプロトコル上の暗号化要求のみに送信(https上のみ)
  • .
  • 機密情報は、絶対Cookieに記憶するx
  • .
  • HTTPSOnly Cookie
  • JavaScriptのDocument.Cookie APIによるx
  • へのアクセス
  • サーバにのみ送信されます.
  • クッキーのスキャン


    CookieのスキャンはDomainとPathで設定できます.
  • Domain
  • クッキーが転送されるホストを示す.
  • ホストが指定されていない場合、デフォルトでは、サブドメインの現在のドキュメントの場所を含まないホスト部分です.
  • ドメインを指定すると、常にサブドメインが含まれます.
  • Path
  • クッキーヘッダが要求したURL内に必ず存在するURLパスを送信する.
  • https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies