Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cookieとは?
Search
ufoo68
November 25, 2025
Programming
1
29
Cookieとは?
ufoo68
November 25, 2025
Tweet
Share
More Decks by ufoo68
See All by ufoo68
今更ながら、開発現場での生成AI活用について
ufoo68
0
41
28歳独身エンジニア 婚活してみた
ufoo68
0
6
OpenAIでクッキー型を作る
ufoo68
1
44
初めて開発リーダーをやってみた話
ufoo68
0
120
M5Stack用の指紋認証デバイスを試す
ufoo68
0
800
結婚式のクイズアプリを自作した話
ufoo68
0
640
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
690
KASHIKOIHAKO
ufoo68
0
590
LIFF通話をつくろう!
ufoo68
0
1.5k
Other Decks in Programming
See All in Programming
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
14
14k
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.8k
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
740
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
200
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
220
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
2
100
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.1k
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
130
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
110
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.1k
関数の挙動書き換える
takatofukui
4
760
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
17k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.4k
What's in a price? How to price your products and services
michaelherold
246
12k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
360
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
690
Unsuck your backbone
ammeep
671
58k
Being A Developer After 40
akosma
91
590k
It's Worth the Effort
3n
187
29k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
Transcript
Cookie🍪とは? ざっくりと学ぶWebの基礎
自己紹介 • 名前 ◦ 松永勇太(@ufoo_yuta) • 出身学科 ◦ 大阪工業大学ロボット工学科 •
職業 ◦ Webエンジニア • すきなこと ◦ シンプルなものづくり
今日のテーマ: Cookie🍪について
なぜこのテーマ? ここ数年、クッキーというワードを結構見ませんでしたか?
このLTが目指すところ ビジネス向けのネット記事よりは具体的だけど、 エンジニア向けの技術記事よりはライトな内容。 さらに詳しいことは各自調べてみて下さい
ざっくり基礎
これだけ覚えて帰って欲しい Cookieとは、 ブラウザのストレージ機能の一つ それ以上でも、 それ以下でもない!
ブラウザのストレージ機能 (本当はもう少し種類があるが)大きく3つくらいがメインで使われる • Cookie • LocalStorage • SessionStorage
ブラウザのストレージの基本1 ストレージは、ドメイン単位 で管理される。 この例だと、 https://xxx.google.com というURL内で有効
ブラウザのストレージの基本2 ストレージは、それぞれ有効期限 がある。 ストレージ 有効期限 Cookie 設定次第(最大400日ぐらい) LocalStorage 無期限と言われるが、最近は最大7日 SessionStorage
ブラウザを閉じるまで
ブラウザのストレージの基本3 ストレージは、JavaScriptを経由する。 ストレージ 書き込み方法 Cookie document.cookie = "hoge=fuga" LocalStorage localStorage.setItem("hoge",
"fuga") SessionStorage sessionStorage.setItem("hoge", "fuga")
その中でも Cookieが注目されやすい理由 問題なのは使われ方 • センシティブな情報が入りやすい ◦ 認証情報 ▪ トークン ◦
ユーザー行動 ▪ 買ったもの ▪ 住んでいるところ • サーバー通信に適している ◦ なぜ適しているかは次で説明する ◦ サーバーに送るためのユーザー情報が収集される
サーバー通信に適しているとは? 例えばLocalStorageの場合、 • HTTP通信でサーバーにデータを送る時は必ず値を明示する必要がある • 中身はスクリプトで自由に参照できるので攻撃の危険がある Cookieの場合、 • HTTP通信を呼び出したら自動でサーバーに送ってくれる •
設定次第でスクリプトからの参照をブロックできる
コード例を比較 LocalStorageの場合、
コード例を比較 Cookieの場合、 サーバーから Cookieを設定 JavaScriptでの明示は不要
少し踏み込んだ話
クッキーへの同意が最近増えた理由 簡単に一言でまとめると、 今まで勝手にやってたことが最近規制され始めた↓
サードパーティクッキーって何? ファーストパーティクッキーとは? • サイト自身が発行する Cookie サードパーティクッキーとは? • サイトとは別に発行された Cookie •
基本的にはiframeの技術を使用 ◦ サイト内に別のWEBを表示する仕組み ◦ WEB広告とか動画の埋め込みとか
安全なCookieとは? 以下の設定が有効化されているもの • Secure ◦ Https通信のみを制限 • HttpOnly ◦ JavaScriptからの参照ができない
• SameSite=Strict or Lax ◦ サードパーティクッキーの利用を制限
さいごに ブラウザはこの先、 「できること」 が増えていく。 その一方で、 「できたことへの制限」 も増えていく。 (Cookieへの規制もその例)