HTTP 304ステータスコード


304 未変更

クライアントが条件付き GET リクエストを送信し、そのリクエストは許可されたが、ドキュメントの内容が (最後のアクセス以来、またはリクエストの条件に従って) 変更されていない場合、サーバーはこのステータス コードを返す必要があります。 304 応答にはメッセージ本文を含めることが禁止されているため、常にメッセージ ヘッダーの後の最初の空白行で終わります。

応答には次のヘッダー情報が含まれている必要があります:

Date (サーバーに時計がない場合)。クロックのないサーバーがこれらのルールに従う場合、プロキシ サーバーとクライアントは (RFC 2068 で指定されているように) 受信した応答ヘッダー自体に Date フィールドを追加でき、キャッシュ メカニズムは正常に動作します。

ETag および/または Content-Location (同じリクエストが 200 応答を返す必要がある場合)。

Expires、Cache-Control、および/または Vary (その値が、同じ変数に対する以前の他の応答に対応する値と異なる可能性がある場合)。

この応答リクエストが強力なキャッシュ検証を使用する場合、この応答には他のエンティティ ヘッダーを含めるべきではありません。それ以外の場合 (たとえば、条件付き GET リクエストで弱いキャッシュ検証を使用する場合)、この応答に他のエンティティ ヘッダーを含めることは禁止されます。これにより、キャッシュされたエンティティ コンテンツと更新されたエンティティ ヘッダー情報の間の不一致が回避されます。

エンティティが現在キャッシュされていないことを 304 応答が示している場合、キャッシュ システムは応答を無視し、制限なしで要求を繰り返す必要があります。

キャッシュ エントリの更新が必要な 304 応答を受信した場合、キャッシュ システムはエントリ全体を更新して、応答で更新されたすべてのフィールドの値を反映する必要があります。