Cookieとセッションについてメモ


自分用メモ。基本のこと。

Cookie

  • ユーザーがサイトにアクセスした時に発行されるファイル
  • Webサーバー(訪問したサイト)が発行し、ユーザーに送信する
  • 内容はセッションID(後述)
  • アクセスするたびにWebサーバーに送信する

Cookieの種類

セッションCookie

  • 有効期限がない
  • ユーザーのPCのメモリに保存される
  • メモリに保存されるため、ブラウザを閉じると破棄される

持続Cookie(または持続的・永続的Cookie)

  • 有効期限がある
  • ユーザーのPCのディスクに保存される(MacのChromeの場合/Users/ユーザー名/Library/Application Support/Google/Chrome/Defaultに保存される。)
  • 有効期限が来るまでは、ブラウザを閉じても破棄されない

参考:クッキーとは? セッションと永続の違いは何ですか。

セッション

  • ユーザーがサイトにアクセスし、サイトを離れる(ブラウザを閉じる)までの一連の行動のこと
  • 例『サイトにアクセス→ページ移動→カートに商品を入れる→サイトを離れる』これで1セッション
  • サイトにアクセスした状態で放置するなど、ある程度時間が経過すると別セッションとしてカウントされる
  • 例『サイトにアクセス→ページ移動→(1時間放置)→カートに商品を入れる→サイトを離れる』サイトにアクセス→ページ移動まで1セッション。カートに商品を入れる→サイトを離れるまで1セッション。

参考:セッション とは 意味/解説/説明 【session】

セッション情報

  • Webサーバーにファイルとして保存されるセッション内容のこと
  • 例:ログイン情報、カートに入れた商品等

セッションID

  • ユーザーを識別するための情報
  • ユーザーが最初にサイトにアクセスした際、Webサーバーが発行する
  • 発行したセッションIDはCookieに持たせて、ユーザーに送信する
  • Webサーバー自身もセッションIDを保持する
  • 一定時間アクセスがない・またはユーザーがログアウトすると破棄される

セッションIDの利用

ユーザーが再度サイトにアクセスする際、セッションIDをもつCookieをWebサーバーに送信する。
Webサーバーは送られてきたセッションIDを自身も持っているか確認する。
持っていればそれを元にセッション情報を取り出しユーザーに送信する。
持っていなければ発行し、Cookieに持たせてユーザーに送信する。

参考:セッションの仕組みについて, ログアウト機能の目的と実現方法

おまけ:キャッシュ

閲覧したサイトの情報をブラウザに保存する機能。
次回アクセスした時に早く表示できる。