Etag 304
というワードを使っている人がいてEtagは知っていた気になっていたが、304?となったので調査
ETag(エンティティタグ)は、HTTPにおけるレスポンスヘッダの1つで、RFC2068のHTTP/1.1で追加された
シーケンシャルな更新日時と違って、ファイルに関連するハッシュ値を使って比較する
2度目以降のダウンロード時に、クライアントはIf-None-Matchヘッダーにダウンロード済みのキャッシュについてたETagの値をつけてリクエストし、サーバーはファイルのETagと比較し、最後のリクエストからページに変更がないと判断すると、空のボディと共に304 (Not Modified)
返す
これが304の由縁だった
ETagの罠
転送量とサーバーへの負荷を低減する手法の一つだが、ETAGをつけておけばキャッシュコントロールは全てOKといえないと以下の記事にあった
ETagの効果はサーバーが1つの場合で、複数のサーバーがあるとETagが異なるためキャッシュ対策にならないとのこと