stale-while-revalidate

stale-while-revalidate

[1] HTTPCache-Control: 頭欄stale-while-revalidate 指令は、 キャッシュ腐敗しても再検証を裏で行ないつつ返却してもよい期間を示します。

仕様書

文脈

[4] このキャッシュ指令HTTP 応答Cache-Control: 頭欄で使うことができます。

構文

[6]

     stale-while-revalidate = "stale-while-revalidate" "=" delta-seconds

処理モデル

[5] キャッシュは、腐敗した後であっても指定された秒数、その応答を返却に利用して構いません>>3

[7] >>5 の場合、腐敗した応答を返しつつも、その再検証を行おうと試みるべきです>>3

[8] 指定された秒数が経過しても再検証が行えない場合には、他の条件による場合を除き、 その腐敗した応答を返すのはやめるべきです>>3

関連

[9] 腐敗している HTTP 応答を返す際には Warning や非零の Age が付くことになります。 >>3

[10] >>3

Cache-Control: max-age=600, stale-while-revalidate=30

[11] >>10 の場合、その応答は10分で腐敗しますが、腐敗しても30秒間は返却することができ、 またその30秒の間に再検証するべきです。

[13] Add stale while revalidate handling (dtapuska著, ) https://github.com/whatwg/fetch/commit/49b92ee1ea34a212c63e0cdb96730d523bd15184

[14] Add support for stale-while-revalidate handling · Issue #852 · whatwg/fetch () https://github.com/whatwg/fetch/issues/852

[15] Add Stale While Revalidate Handling by dtapuska · Pull Request #853 · whatwg/fetch () https://github.com/whatwg/fetch/pull/853