メインコンテンツまでスキップ

1. はじめに (Introduction)

HTTP [RFC2616] では、キャッシュは「保持している最新のレスポンスでリクエストに応答する...それはリクエストに適切である」ことが求められますが、「慎重に検討された状況」では古いレスポンスを返すことが許可されています。このドキュメントでは、このような制御を可能にする 2 つの独立した Cache-Control 拡張、stale-if-error と stale-while-revalidate を定義します。

stale-if-error HTTP Cache-Control 拡張を使用すると、エラー(例:500 Internal Server Error、ネットワークセグメント、または DNS 障害)が発生した場合に、キャッシュは「ハード」エラーを返すのではなく、古いレスポンスを返すことができます。これにより、可用性が向上します。

stale-while-revalidate HTTP Cache-Control 拡張を使用すると、キャッシュはバックグラウンドで再検証を行いながら、すぐに古いレスポンスを返すことができ、クライアントから遅延(ネットワークとサーバーの両方)を隠すことができます。