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

クッキーとセッションって何?[図あり]

Posted at

クッキーとセッションについて図を用いて理解していこうと思います。

■前提
・HTTP通信・・・クライアントとサーバーの間でテキストでやりとりしましょうというお約束のこと。(下記の図)

#セッション
Untitled (Draft)-1 2.jpg

簡単に言うと一連の通信のことをセッションと言います。

[例え]
リクエスト(この情報が欲しいな〜)してレスポンス(これだよー)が返ってくるこの一連の流れのこと

#通常のHTTP通信
Untitled (Draft)-2.jpg
またWebではHTTP通信をしています。

普通のHTTP通信だと上図のように情報を保持できないの通信を行う度に初めての状態が続きます。

これだと不便なことがあります。

[例え:ECサイト]
・以前見た商品の履歴が見れない。
・商品をお気に入りに入れていたのにお気に入りに入っていない。
など不便なことが起こります。

サーバーからしたら
「誰ですか?初めましての人だな!」という状態。

ではどうしたら不便なことが解決できるか?
クッキーとセッション管理を使うことによって解決が可能です。

#クッキー、セッション管理を使ったHTTP通信

Untitled (Draft)-3.jpg
クッキー、セッション管理を使ったHTTP通信だと上図のように情報を保持できます。

先ほどの不便なことは解決されるわけです。

具体的に見ていきましょう。

#クッキー、セッション管理仕組み
Untitled (Draft)-4 2.jpg
クッキー・・・クライアント側でセッション情報を持つもの

セッション管理・・・情報を保持するための仕組み

セッション情報(セッションID)・・・保持したい情報そのもの

■初回
①サーバーからセッションIDが発行されます。
セッションIDをクッキーが格納し、クライアントにクッキー(クッキーかけら)を渡します。
この時点でクライアントとサーバーにクッキー(クッキーかけら)があります。
クッキーがユーザー情報を持っているイメージ。

■2回以降
②クッキー(クッキーかけら)をサーバーに渡します。

③クライアントとサーバーのクッキー(クッキーかけら)を合体させることによって、
サーバーは以前ユーザーだと判断できます。

ざっとですけど概要はこんな感じだと思います。

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