Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
セッションとCookieをおさらい / session and cookie
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yutaro Shimoda
October 22, 2021
Programming
390
0
Share
セッションとCookieをおさらい / session and cookie
エンジニア2年目にしてセッションとCookieについておさらいしました。
なんか、フワッとした理解しているところもあったので良い復習になりました!!
Yutaro Shimoda
October 22, 2021
More Decks by Yutaro Shimoda
See All by Yutaro Shimoda
職能の壁を取り払った先で見えた壁 -AI時代のクロスファンクショナル組織-
shimotaroo
1
100
AI時代のPMに求められるのは 「Ops」と「Enablement」
shimotaroo
1
1k
エンジニアの次のキャリアに プロダクトマネージャーという選択
shimotaroo
2
710
SNSは最強
shimotaroo
3
730
それ、プロダクトに機能追加しなくてもよくないっすか?
shimotaroo
0
400
イシューからはじめよう
shimotaroo
0
570
マーケ・セールス担当者の話を理解したいいいいい!!!
shimotaroo
0
1.3k
自分のペースで頑張ればいんじゃない?というお話
shimotaroo
0
1.9k
つながる勉強会立ち上げからの1年間を振り返る/tsunagaru-kobe-2021
shimotaroo
0
290
Other Decks in Programming
See All in Programming
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.4k
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
200
Rethinking API Platform Filters
vinceamstoutz
0
11k
Feature Toggle は捨てやすく使おう
gennei
0
570
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
330
Make GenAI Production-Ready with Kubernetes Patterns
bibryam
0
110
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
300
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
0
440
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
120
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.9k
Swift Concurrency Type System
inamiy
0
470
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.3k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Ace a Technical Interview
jacobian
281
24k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Spectacular Lies of Maps
axbom
PRO
1
690
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
Crafting Experiences
bethany
1
110
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
190
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
The Invisible Side of Design
smashingmag
302
51k
The Pragmatic Product Professional
lauravandoore
37
7.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Transcript
セッションとCookieをおさらい 2021/8/28(土)
なぜ使うのか? ステートレスなHTTPをステートフルに使うため 客「ハンバーガーセットをお願いします。」 店員「ハンバーガーセットですね。ドリンクは何にしますか?」 客「ファンタでお願いします」 店員「ファンタですね。サイズは何にしますか?」 客「Mでお願いします。」 店員「M?は?何がですか?」 これがステートフル
Cookie(クッキー)とは • クライアント(ブラウザ)に保存されたデータ • サーバーからのHTTPレスポンスヘッダー(Set-Cookie)を用いてWebブラウザに送 られる • サーバーにアクセスするたびに自動送信される • 「クッキー名=値」の形(1つのクッキーは4KBまで)
• ブラウザによって保持できる数が異なる
セッション(Session)とは • 一連の処理の始まりから終わりまでを表す概念 ◦ ログイン〜ログアウト ◦ HTTP通信の接続を確立〜遮断 • Cookieを利用することでセッション(一連の処理)を実現できる=ステートレスをス テートフルにできる
• 「ログインしている」という情報のことをクライアントのアプリケーション状態といい、 別名でセッション状態とも言う。
使用されるケース ユーザーの識別(認証)が必要なアプリケーション • ECサイト • 転職サイト • SNS など
Cookieを使用したセッション管理の仕組み① クライアント ログイン Cookieを保存するよう指示 ・セッションID発行 ・セッション情報保存 セッションファイル サーバー Cookieをブラウザに保存 Cookie
名前:sessionid 値:9reifwjgkrnrqfuvoijqfi sessionid: 9reifwjgkrnrqfuvoijqfi user_id: 1 sessionid: 9reifwjgkrnrqfuvoijqfi
Cookieを使用したセッション管理の仕組み② クライアント 認証が必要なリクエスト サーバー sessionid: 9reifwjgkrnrqfuvoijqfi user_id: 1 Cookieも送る sessionid:
9reifwjgkrnrqfuvoijqfi 9reifwjgkrnrqfuvoijqfi CookieからセッションIDを取り出す セッションファイルと照合 user_id=1のユーザー を識別できる ユーザーがログインしているという状態を維持できる
最後におさらい • Cookieは、クライアント(ブラウザ)に保存されたデータ • セッションは、一連の処理の始まりから終わりまでを表す概念 • Cookieとセッションを組み合わせて使うことでステートレスなHTTPをステートフルに することができる • セッションとCookieによるセッション管理はユーザーの識別(認証)が必要なアプリ
ケーションで使用される
ご静聴ありがとうございました!