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
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時代のPMに求められるのは 「Ops」と「Enablement」
shimotaroo
1
990
エンジニアの次のキャリアに プロダクトマネージャーという選択
shimotaroo
2
710
SNSは最強
shimotaroo
3
720
それ、プロダクトに機能追加しなくてもよくないっすか?
shimotaroo
0
400
イシューからはじめよう
shimotaroo
0
560
マーケ・セールス担当者の話を理解したいいいいい!!!
shimotaroo
0
1.3k
自分のペースで頑張ればいんじゃない?というお話
shimotaroo
0
1.9k
つながる勉強会立ち上げからの1年間を振り返る/tsunagaru-kobe-2021
shimotaroo
0
290
【ハンズオン】PHPUnitでのテストコード実装超入門/PHP-Hands-On
shimotaroo
0
6.2k
Other Decks in Programming
See All in Programming
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
Feature Toggle は捨てやすく使おう
gennei
0
390
Understanding Apache Lucene - More than just full-text search
spinscale
0
150
The free-lunch guide to idea circularity
hollycummins
0
390
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
430
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.7k
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
180
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
350
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
3.7k
Ruby and LLM Ecosystem 2nd
koic
1
1.4k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Building Applications with DynamoDB
mza
96
7k
How to Ace a Technical Interview
jacobian
281
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Rails Girls Zürich Keynote
gr2m
96
14k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
Between Models and Reality
mayunak
2
250
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
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によるセッション管理はユーザーの識別(認証)が必要なアプリ
ケーションで使用される
ご静聴ありがとうございました!