HTTP
キャッシュ
cookie
セッション
113
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

更新日

Cookieとキャッシュとセッションの違いをまとめた

それぞれの違いについて

Cookieとは

Cookie(クッキー)とは、ホームページを訪問したユーザーの情報を一時的の保存する仕組み、またはそのデータです。
ID、パスワード、メールアドレス、訪問回数などが ユーザー情報として保存されます。
これによって再訪問したときに ユーザーを特定し、情報を入力する手間が省けます。
ショッピングサイトに訪問したとき、すでにログイン状態になっている、以前カートに入れた商品がそのまま残っているのは、Cookie機能がはたらいているからです。

  • Webページ(TwitterやFacebookなど)でログインした時の情報を保存して、入力する手間を省いてくれる仕組みのこと。
  • ログインをしたあとの画面(URL)にログアウトしたあとアクセスするとエラー画面になる。ログイン状態を保つ仕組みでもある。
  • Cookie内にはpasswordやuser_idなどがあるためセキュリティ上危険。そのためセッションにより安全に情報を保持する。

セッションとは

セッションとは、一連のインタラクティブな操作のこと。
例えばECサイトには、商品を探し、カートに入れ、購入するという一連の流れがある。
このように同一利用者からのアクセスを関連性のある一連のアクセスとして扱いたい場合、Cookieを使ってセッション管理が行われる。

  • Cookieを使用した一連の操作のこと。 Cookie によるセッションIDの管理が行われる。
  • WebサーバはCookieを受け取ると格納されたセッションIDを元に、メモリ上にあるログイン状態を復元する。
  • セッションIDによるやりとりにより安全性が高い。

キャッシュとは

キャッシュとは、閲覧したWeb ページの情報を一時的に保存する機能です。
キャッシュデータを保存しておくと、2回目に同じWebページに訪問したときに表示するスピードが上がりより閲覧しやすくなります。

  • 閲覧ページの情報(キャッシュ)を保存することにより、再度閲覧したページにアクセスする際のページの読み込みスピードを早める仕組みのこと。
  • セッションにより情報を管理しているため、ブラウザバックや「戻るボタン」により一つ前の状態に戻れていまう。ショッピングサイトなら、注文後一つ前に戻ると注文前の状態になり、再注文できてしまう。
  • 誤動作しないようにキャッシュを無効化するなどして対策をする必要がある。

まとめ

  • Cookieとキャッシュは「ユーザ情報」なのか、「Webページの情報」なのかの部分に違いがあると理解しました。:thinking:

  • セッションはCookieやキャッシュのいわゆる「固有のデータ」ではなく、「Webページ上(通販サイトなど)で操作したデータ(履歴)」であり、ユーザの情報(Cookie)を使用してログインの制御をする仕組みと理解しました。

to be continued...

実現される環境にも違いがあるようで、セッションはアプリケーション側で、CookieはブラウザとWebサーバの間でやり取りされる仕組みのようです。

参考文献

■ Cookieとキャッシュについて

■ セッションについて

■ 本

  • プロになるためのweb技術入門
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
ユーザー登録ログイン
taoki11111
System Engineer Software Engineer
この記事は以下の記事からリンクされています
KWS_0901Cookieとセッションの概要からリンク

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
113
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー