キャッシュ

2021-11-14 (日) 12:03:04

キャッシュ

HTTPにおけるキャッシュの種類

  • クライアントサイドキャッシング
  • サーバサイドキャッシング

クライアントサイドキャッシング

  • ブラウザでキャッシュする
  • ネイティブアプリでキャッシュする。

サーバサイドキャッシング

キャッシュするコンテンツ

HTTPのキャッシュ

  • HTTPリスポンスヘッダを使って、キャッシングの有効/無効、キャッシュ可能な期限などの情報を制御できる。
  • ブラウザやプロキシサーバは、HTTPリスポンスヘッダのキャッシュを制御するための情報を見て、キャッシュデータを保存する。
  • ブラウザのキャッシュに保存されているページのHTTPヘッダでアクセス先が更新されたかどうかを判断する。

キャッシュ制御のためのHTTPリスポンスヘッダ

  • サーバからレスポンスする時のヘッダ
  • HTTP1.1以降
    • Cache-Control -詳細なキャッシュ方法を指定。
  • HTTP1.0との互換性を求める場合に使う
    • Expire -有効期限を指定。
    • Pragma -抑制。"no-cache"を指定するとキャッシュを不許可。
    • Last-Modified

コンテンツの更新を確認するためのHTTPリクエストヘッダ

  • 条件付きGET
    • If-Modified-Since
    • If-None-Match
  • 更新がなかった場合の応答:304 Not Modified(ヘッダのみ)

コンテンツの更新を確認できるようにするためのHTTPレスポンスヘッダ

  • ETag
    • INode
    • MTime
    • Size

関連用語