はじめに
クッキーとセッションっていっつもこんがってよくわかんなくなる。
で、いざ使おうとした時に毎回調べて納得してまた忘れる…の繰り返しなので
もう忘れないようにメモしておくことにした。
元記事はこちら。
目次
クッキー
- 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サイトなどのカートに入れた商品情報