LoginSignup
3
5

More than 5 years have passed since last update.

一から整理するクッキーとセッション

Posted at

はじめに

クッキーとセッションっていっつもこんがってよくわかんなくなる。

で、いざ使おうとした時に毎回調べて納得してまた忘れる…の繰り返しなので

もう忘れないようにメモしておくことにした。
元記事はこちら。

目次

クッキー

  • WebサーバがHTTP ヘッダーに格納するデータ
  • クライアントのブラウザに保存される
  • よく保存されるデータ
    • 利用者の識別や属性に関する情報
    • 利用者が最後に訪れた日時
  • 保存しない方がいいデータ
    • ログイン情報などの改ざんされてはいけないデータ

クッキーはクライアント側に保存するデータのため、
容易に改ざんできてしまう。

そのため、ログイン情報など改ざんされてはいけないデータはクッキーではなくセッションを使う。

▼Request Header
:authority:webtools.yjhm214.com
:method:GET
:path:/
:scheme:https
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
accept-encoding:gzip, deflate, sdch, br
accept-language:ja,en-US;q=0.8,en;q=0.6
cookie:XXX=xxx ← ブラウザに保存されているクッキー
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
▼Response Header
cache-control:no-cache, private
content-encoding:gzip
content-type:text/html; charset=UTF-8
date:Mon, 17 Apr 2017 02:17:56 GMT
server:nginx
set-cookie:XXXXXX=xxxx; expires=Mon, 17-Apr-2017 04:17:56 GMT; Max-Age=7200; path=/ ← サーバで生成されてセットされたクッキー
status:200

セッション

  • サーバに保存するデータ。
  • それぞれのセッションはセッションID という識別子に紐づいている。
  • セッションを取り出すときはクライアントからセッションID送信する。
  • セッションIDはクッキーに保存する。
  • セッションはWebブラウザを閉じるまで保存される。
  • よく保存されるデータ
    • ログイン情報
    • ECサイトなどのカートに入れた商品情報
3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5