Hello there, ('ω')ノ
✅ Webキャッシュとは?
Webキャッシュとは、ユーザーのリクエストとサーバーの間に介在し、静的リソースのやり取りを効率化する仕組みです。
🔁 キャッシュの動作フロー
- ユーザーが静的リソースをリクエスト(例:画像やCSS、JavaScriptなど)
- リクエストはまずキャッシュサーバー(CDNなど)に送られる
キャッシュにそのリソースが存在しない場合(キャッシュミス):
- キャッシュはオリジンサーバーにリクエストを転送
- サーバーがレスポンスを返す
- キャッシュがそのレスポンスを保存しつつ、ユーザーに返す
次回以降、同じリソースが要求された場合(キャッシュヒット):
- キャッシュが直接レスポンスを返す
- オリジンサーバーに負荷がかからず、高速応答が可能
🚀 CDNとキャッシュの効果
**CDN(Content Delivery Network)**は、世界中に分散したサーバーにキャッシュされたデータを保持し:
- ユーザーの地理的に最も近いサーバーからコンテンツを配信
- レイテンシーの削減
- オリジンサーバーの負荷軽減
⚠️ キャッシュがもたらすセキュリティのリスク:Web Cache Deception
Webキャッシュは便利な反面、次のような攻撃手法の入口になることがあります:
🔍 Web Cache Deception(WCD)とは?
攻撃者が以下のような状況を利用してキャッシュサーバーに本来キャッシュしてはいけないデータを保存させ、他ユーザーに公開させる手法:
- 本来はユーザー固有であるべきレスポンス(例:個人情報やセッションページ)
- それが誤って共有キャッシュに保存される
- 他のユーザーが同じパスにアクセスすると、別人の情報が表示されてしまう
✅ まとめ
概念 | 内容 |
---|---|
Webキャッシュ | 静的リソースを中継し、再利用して高速化・負荷軽減を行う |
キャッシュミス | キャッシュに該当データがない場合。オリジンサーバーにリクエストが転送される |
キャッシュヒット | キャッシュ済みデータが直接返される。高速かつ効率的 |
Web Cache Deception | 攻撃者が意図的にキャッシュさせてはならないデータをキャッシュさせ、情報漏洩を誘発 |
Best regards, (^^ゞ