[1] [[HTTP]] の [CODE(HTTP)@en[[[Cache-Control:]]]] [[頭欄]]の [DFN[[CODE(HTTP)@en[stale-while-revalidate]] [[指令]]]]は、 [[キャッシュ]]が[[腐敗]]しても[[再検証]]を裏で行ないつつ返却してもよい期間を示します。 * 仕様書 - [2] [[RFC 5861]] [CITE@en[HTTP Cache-Control Extensions for Stale Content]] ([[IETF情報提供RFC]]) --[3] [CSECTION@en[3. The stale-while-revalidate Cache-Control Extension]] * 文脈 [4] この[[キャッシュ指令]]は [[HTTP]] [[応答]]の [CODE(HTTP)@en[[[Cache-Control:]]]] [[頭欄]]で使うことができます。 * 構文 [6] [PRE(ABNF code)[ stale-while-revalidate = "stale-while-revalidate" "=" delta-seconds ]PRE] * 処理モデル [5] [[キャッシュ]]は、[[腐敗]]した後であっても指定された秒数、その[[応答]]を返却に利用して[['''構いません''']]。 [SRC[>>3]] [7] >>5 の場合、[[腐敗]]した[[応答]]を返しつつも、その[[再検証]]を行おうと試みる[['''べきです''']]。 [SRC[>>3]] [8] 指定された秒数が経過しても[[再検証]]が行えない場合には、他の条件による場合を除き、 その[[腐敗]]した[[応答]]を返すのはやめる[['''べきです''']]。 [SRC[>>3]] * 関連 [9] [[腐敗]]している [[HTTP]] [[応答]]を返す際には [CODE(HTTP)@en[[[Warning]]]] や非零の [CODE(HTTP)@en[[[Age]]]] が付くことになります。 [SRC[>>3]] * 例 [10] [SRC[>>3]] [PRE(HTTP example code)[ Cache-Control: max-age=600, stale-while-revalidate=30 ]PRE]