5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

クッキーとセッションの違い(PHP・Railsでの実装例含む)

Last updated at Posted at 2016-08-07

#なぜクッキー・セッションが必要か
複数のウェブページの間で情報を維持するため。
HTTPはクライアントからの要求に対し、サーバーがレスポンスを返すのみ。
つまり、何度リクエストを送っても、サーバーは同一のクライアントから来たものだとは認識しない。
(これをステート(状態)レス(ない)という)
一方、ログイン機能を実装するためには、どのユーザーがログイン済みか、という情報(状態)をページを跨って持っている必要がある。
この状態をステートフルと言い、これを実現するために必要

#クッキー
クッキーとは、サーバー側がクライアント側に情報を記録する、簡易的なテキストファイルのこと

しくみ
スクリーンショット 2016-08-08 2.32.58.png

#セッション
クッキーと同様にページ間で情報を維持する仕組み。
クライアントから送信されるセッションIDをキーに、アクセスしてきたユーザーを識別し、対応するセッション情報を取得する。

しくみ
先述のクッキーのしくみの④の後、サーバーにセッションIDをキーとして、セッション情報を保存する。
そして、そのセッション情報を元に、レスポンスを生成。
サーバーでセッションを管理する場合も、キー(セッションID)はクッキー経由でやり取りされる。

#PHPでのクッキー・セッション管理

#Railsでのクッキー・セッション管理

参考
RubyonRailsアプリケーションプログラム

5
3
2

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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?