HTTPのキャッシュを無効化するAPIの標準化する提案仕様

CDNはキャッシュをパージする機能をよく有しています。そのキャッシュの無効化(もしくはパージ)を要求するためのAPIを標準化するための『An HTTP Cache Invalidation API』という提案仕様がIETFに提出されています。

この 提案仕様は、HTTP界隈では著名な Mark Nottingham氏による提案です。まだ最初の提案であり、来月あるIETF会合で紹介があるものと思われる。

An HTTP Cache Invalidation API

この仕様では、次のペイロードを含むPOSTを送ることで、キャッシュの無効化を要求できる

{
    "type": "uri",
    "selectors": [
      "https://example.com/foo/bar",
      "https://example.com/foo/bar/baz"
    ],
    "purge": true
}
  • type: uri, uri-prefix, origin, group が指定できる
    • uri: 一致したURI
    • uri-prefix: 前方一致したURI
    • origin: 一致したオリジン
    • group: キャッシュに指定されたグループ (別の仕様でgroupの仕組みが定義されるHTTP Cache Groups)
  • selectors: typeに合わせたキャッシュをパージするリソースの指定
  • purge: trueの場合無効化するだけでなくキャッシュが削除される

レスポンス

上記の無効化要求に対して次のステータスコードでの応答がありえます

  • 200 OK: キャッシュの無効化(パージ)が完了した
  • 202 Accepted: 要求を受け付けた。直にキャッシュの無効化(パージ)が完了する
  • 501 Not Implemented: 要求された指示 (typeやpurgeの指定)をサポートしてない

おまけ

typeのところで説明した、groupについては追加で記事を書いときました
asnokaze.hatenablog.com