HTTPステータスコード304の仕様
304 Not Modifiedステータスコードは、条件付きのGETまたはHEADリクエストを受信したことを示し、条件が偽と評価されなければ200(OK)レスポンスになったはずです。言い換えれば、リクエストは、リクエストを条件付きで行ったクライアントがすでに有効な表現を持っていることを示すので、サーバーがターゲットリソースの表現を転送する必要はありません。したがって、サーバーは、200(OK)応答の内容であるかのように、その保存された表現を使用するようにクライアントをリダイレクトしています。
304 Not Modified応答を生成するサーバーは、同じリクエストに対する200(OK)応答で送信されたであろう以下のヘッダーフィールドのいずれかを生成しなければならない(MUST):
- Content-Location, Date, ETag, and Vary
- Cache-Control and Expires (see [CACHING])
304 Not Modified応答の目的は、受信者がすでに一つ以上のキャッシュ表現を持つ場合に情報の転送を最小限にすることなので、送信者は、キャッシュ更新(ex.Cache)を導く目的でメタデータが存在しない限り、上記のフィールド以外の表現メタデータを生成すべきではありません(SHOULD NOT)。g.,304 Not Modified応答を受け取るキャッシュの要件は、[CACHING]のセクション4.3.4で定義されています。]
条件付きリクエストが、それ自身のキャッシュを持つユーザーエージェントが共有プロキシに条件付きGETを送るようなアウトバウンドクライアントから発生した場合、プロキシはそのクライアントに304 Not Modified応答を転送すべきです(SHOULD)
304 Not Modified応答はヘッダーセクションの終了によって終了します; それはコンテンツやトレーラを含むことはできません
。出典・引用元はこちら 304 Not Modified HTTP Status Code は、15.4.5 のセクションで規定されています。
HTTPプロトコル
PHPで304ステータスコードを投げるには?
WebページでHTTPステータスコード304を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
304 HTTPステータスコードのテスト
クライアント側でHTTPステータスコード(ここでは304 Not Modified)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
ステータス: 304 Not Modified
それらの: Network
IPアドレス: XX.XX.XX.XX
304ステータスコードのブラウザ互換性
Chrome | Yes |
Edge | Yes |
Firefox | Yes |
Opera | Yes |
Safari | Yes |
Chrome Android | Yes |
Firefox for Android | Yes |
Opera Android | Yes |
Safari on iOS | Yes |
Internet | Yes |
WebView Android | Yes |
プログラミング言語における定数
HTTPステータスコード304に関する詳細な情報を提供する外部リンク集:
HTTPステータスコード304に関するミームを楽しませる
ブログ記事
キャッシングとHTTPステータスコードインテリジェントなキャッシュによるウェブパフォーマンスの最適化
Webパフォーマンスとその結果としてのユーザーエクスペリエンスは、あらゆるWebサイトの成功のための中心的な側面です。このパフォーマンスに影響を与える重要な要因は、特にキャッシュ戦略の文脈におけるHTTPス...