私は新しい API に取り組んでいます。ETag を有効にすると、Chrome は常にキャッシュの有効期間が長いリソースを条件付きで取得します。つまり、Chrome は最初に ETag を確認せずにキャッシュされたバージョンを使用しなくなります。
これは、ETag が GET で動作することになっている方法ですか?
もしそうなら、更新の競合チェックにそれらが必要ないことを考慮して、ETag を削除し、サーバーが行っている余分な作業を軽減します。
編集
私は、Chrome が有効期限が切れるまで max-age に従ってキャッシュされたアイテムを使用し、条件付き GET を使用してキャッシュされたアイテムを更新することを期待していました。
私がこれを書いているとき、304には有効期限を延長するために使用する最大年齢が含まれていないため、「キャッシュされたアイテムを更新する」ことができないことに気づきました。
したがって、ETag が有効になっていると、ネットワークがないなど、キャッシュされたバージョンを使用する正当な理由がない限り、クライアントは常に条件付きで GET すると思います。
したがって、同時実行制御が必要ない場合、ETag はサーバーのパフォーマンスに悪影響を与えるようです。
編集
私はすでに答え(上記)を推測していると思いますが、簡単に言えば、ここに質問があります:
ETag が有効になっており、Max-Age がはるか先の未来の場合、ユーザー エージェントは、以前にキャッシュされた新しい応答を使用する代わりに、常に条件付き GET を使用する必要がありますか?