Webに関する基礎知識をつけるべく、これまでなんとなくで把握していたCookieとセッションについて、改めて学習しました。その記録をこちらに残しておきます。
どなたかのお役に立てれば幸いです。
Cookieとは?
Cookieとは、WEBサイトを閲覧したときに、
訪問者が訪れたサイトや入力したデータ、
利用環境などの情報が記録されたファイル(仕組み)を指します。
引用:https://gmotech.jp/semlabo/webmarketing/blog/cookie/
セッションとは?
セッションはユーザーがWEBサイトにアクセスしてから、
最終的に離脱するまでの行動を示す指標です。
ユーザーがWEBサイトへ訪問した回数とも捉えられ、
自サイトにおけるユーザーの訪問回数を確認する場面でも役立つはずです。
引用:https://www.switchitmaker2.com/web-analytics/web-session/
Cookieとセッションの違い
- どちらも情報・データを保存する機能である。
- 保存場所や、保存期間に違いがある。
- 『クッキーはブラウザに、セッションはWebサーバーに保持されている。』と覚えておく。
保存場所 | 保存期間 | 無効化 | |
---|---|---|---|
Cookie | ブラウザ | 永続的・一定期間保存する | できる |
セッション | ブラウザ・サーバー | サイトを離脱すると削除 | できない |
Cookieとセッションの利用例
- Cookieの例として、データに基づいてユーザーの興味をひくような広告を出せるようにするなどがある。
- セッションの例として、ログイン機能などがある。
- システムにログイン後、他のページにアクセスする度にクッキーをサーバーに送っているため、他のページにアクセスする度にログインするのは不要となる。
その他Cookieやセッションに関する情報
- Cookieの最大容量は4キロバイトです。そのため、Cookieを利用して多くの情報をやり取りすることはできない。
- クッキーは、HTTPメッセージのリクエストヘッダーとレスポンスヘッダーで送受信される。
- クッキーの有効期限はconfig/initializers/session_store.rbで設定できる。
クッキーの有効期限を1日に設定している例。
Rails.application.config.session_store :cookie_store, key: '_runteq_normal_session', expire_after: 1.day
参考サイト: