Slide 1

Slide 1 text

セッションとCookieをおさらい 2021/8/28(土)

Slide 2

Slide 2 text

なぜ使うのか? ステートレスなHTTPをステートフルに使うため 客「ハンバーガーセットをお願いします。」 店員「ハンバーガーセットですね。ドリンクは何にしますか?」 客「ファンタでお願いします」 店員「ファンタですね。サイズは何にしますか?」 客「Mでお願いします。」 店員「M?は?何がですか?」 これがステートフル

Slide 3

Slide 3 text

Cookie(クッキー)とは ● クライアント(ブラウザ)に保存されたデータ ● サーバーからのHTTPレスポンスヘッダー(Set-Cookie)を用いてWebブラウザに送 られる ● サーバーにアクセスするたびに自動送信される ● 「クッキー名=値」の形(1つのクッキーは4KBまで) ● ブラウザによって保持できる数が異なる

Slide 4

Slide 4 text

セッション(Session)とは ● 一連の処理の始まりから終わりまでを表す概念 ○ ログイン〜ログアウト ○ HTTP通信の接続を確立〜遮断 ● Cookieを利用することでセッション(一連の処理)を実現できる=ステートレスをス テートフルにできる ● 「ログインしている」という情報のことをクライアントのアプリケーション状態といい、 別名でセッション状態とも言う。

Slide 5

Slide 5 text

使用されるケース ユーザーの識別(認証)が必要なアプリケーション ● ECサイト ● 転職サイト ● SNS など

Slide 6

Slide 6 text

Cookieを使用したセッション管理の仕組み① クライアント ログイン Cookieを保存するよう指示 ・セッションID発行 ・セッション情報保存 セッションファイル サーバー Cookieをブラウザに保存 Cookie 名前:sessionid 値:9reifwjgkrnrqfuvoijqfi sessionid: 9reifwjgkrnrqfuvoijqfi user_id: 1 sessionid: 9reifwjgkrnrqfuvoijqfi

Slide 7

Slide 7 text

Cookieを使用したセッション管理の仕組み② クライアント 認証が必要なリクエスト サーバー sessionid: 9reifwjgkrnrqfuvoijqfi user_id: 1 Cookieも送る sessionid: 9reifwjgkrnrqfuvoijqfi 9reifwjgkrnrqfuvoijqfi CookieからセッションIDを取り出す セッションファイルと照合 user_id=1のユーザー を識別できる ユーザーがログインしているという状態を維持できる

Slide 8

Slide 8 text

最後におさらい ● Cookieは、クライアント(ブラウザ)に保存されたデータ ● セッションは、一連の処理の始まりから終わりまでを表す概念 ● Cookieとセッションを組み合わせて使うことでステートレスなHTTPをステートフルに することができる ● セッションとCookieによるセッション管理はユーザーの識別(認証)が必要なアプリ ケーションで使用される

Slide 9

Slide 9 text

ご静聴ありがとうございました!