1. はじめに
前回の記事では、Webサイトでよく見かける「Cookieって何?」というテーマを扱いました。
今回はその相棒とも言える セッション(Session) についてもまとめたいと思います。両者の違いを聞かれると、「Cookieとセッションって何が違うの?」などいまいちわからない方も多いのではないでしょうか。
そこで本記事では、セッションとは何か、Cookieと何が違うのかについてまとめます。
※本投稿は、2026年3月時点の情報、及び、あくまで一個人のメモ書きと思ってお読みください
2. セッションとは?
セッション とは サーバー側でユーザーの状態を保持する仕組み のことです。
Webの世界はステートレス(状態を保持しない)ため、「このリクエストは誰のものか?」をサーバーは覚えていません。
そこで登場するのがセッションです。
各用語の使い分け
- Cookie:ブラウザ側に保存される小さなメモ
- セッション:サーバー側に保存されるユーザー情報の本体
- セッションID:セッションを識別するための識別子
Cookieは鍵、セッションは鍵の先にあるロッカーのようなイメージです。
3. セッションの仕組み
セッション利用の流れは次の通りです。
- ユーザーがログインする
- サーバーが「セッションID」を発行
- セッションIDを Cookieに入れてブラウザへ送信
- ブラウザはセッションIDを保存
- 次回以降のアクセスで、ブラウザはセッションIDをサーバーへ送信
- サーバーはセッションIDをもとにユーザー情報を参照
- ログイン状態が維持される
4. Cookieとの違い
セッションとCookieのちがいは次の通りです。
| 項目 | Cookie | セッション |
|---|---|---|
| 保存場所 | ブラウザ | サーバー |
| 内容 | ユーザー識別情報 | ログイン情報本体 |
| 有効期限 | 長期間 | 短期間 |
| セキュリティ | 改ざん・盗難リスクあり | サーバーに保存されるため比較的安全 |
セッションはサーバー側で管理されるため、Cookieより安全性が高い と言われます。ただし、後述するように「セッションID」が盗まれると話は別です。
5. セキュリティ的な観点から見たセッション
セッションはログイン状態を維持するための重要な仕組みですが、同時に 攻撃者に狙われやすいポイント でもあります。
代表例は次の通りです。
- セッションハイジャック:公共Wi-Fiでの盗聴やXSS(クロスサイトスクリプティング)で攻撃者がセッションIDを盗み取り、ユーザーになりすましてログインする
- セッションフィクセーション:攻撃者があらかじめ用意したセッションIDをユーザーに使わせ、ログイン後にそのIDを使って不正アクセスする攻撃
- セッションの長時間放置:ログアウトしないまま放置すると、第三者に端末を触られた際に不正利用される可能性があります。
上記を踏まえて、ユーザーが気を付けることができるアクションも併せてご紹介します。
- 公共の端末でログインしない
- ログアウトを忘れない
- 不審なサイトにアクセスしない
- ブラウザやOSを最新に保つ
- パスワードを使い回さない
6. おわりに
セッションは、Webアプリケーションの根幹を支える重要な仕組みです。Cookieと組み合わせることで、ログイン状態の維持やユーザー体験の向上が実現します。しかし、セッションIDが盗まれると深刻な被害につながるため、セキュリティ対策は必須ですね。
ありがとうございました!