1
0

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 3 years have passed since last update.

セッションとCookie

今回はRailsでログイン機能を作るときに学んだセッションとCookieについて書いていこうと思います。

セッション

WebアプリケーションではブラウザからサーバへHTTPリクエストを送り、HTTPレスポンスを受け取って表示する。 このHTTPリクエストを繰り返し行うことで順番に操作を行っていく。 しかし、HTTPはステートレス(*1)なプロトコルなので、 そのままでは、同じユーザーから送られた1つ目のリクエストから2つ目のリクエストに情報を引き継ぐことができない。 (例えば、ユーザー登録情報画面に個人情報を記載して登録ボタンを押したが必須のところの書き忘れがあると 初めから記入し直さなくてはいけないなど。) そのため、Webアプリケーションではサーバー側にセッションと言う仕組みを用意して、 1つのブラウザから連続して送られている一連のリクエストの間で、「状態」を共有できるようにしている。 Railsでは、コントローラからsessionと言うメソッドを呼び出すことで、セッションにアクセスできる。 sessionはハッシュのように扱うことができる。 セッションをデータを入れるには、任意のキーを指定して値を格納します。
session[:user_id] = @user.id

値を取り出すには次のように参照する。

@user_id = session[:user_id]

Cookie

セッションに似た仕組みとしてCookieがある。 セッションはアプリケーションサーバー側で独自に実現される仕組みであるのに対して CookieはブラウザとWebサーバの間でやり取りされる、より汎用的な仕組み。 Cookie情報は、キーと値のペアの集合。

*1 ステートレスとは?
https://qiita.com/wind-up-bird/items/b210e294ecb147d67e2b

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?