ETagは、キャッシュの検証を決定するために、「Last-Modified-Time」の代わりに使用できます(組み合わせて使用できます)。
クライアントは、ETagに基づいてif-matchesまたはif-none-matchesなどの事前条件を送信できます。これはGETリクエストだけではありません(webpagetest.orgが行うことです)。「日和見更新」を使用して、PUTリクエストに事前条件があり、ETagが実行されてからリソースが更新された場合に更新操作を実行しないようにすることができます。最後に獲得した。
簡単に言うと、CMSのページで編集をヒットし、友達がCMSのページで編集をヒットし、友達が編集を実行して保存をヒットし、最後に保存をヒットします-ETagまたはContent-MD5 HTTPヘッダーなしで必要になります問題の発生(友達の変更を消去するなど)を防止するためにホイールを再発明するために、ソリューションはすでにHTTPプロトコルの一部であるため、それを使用するだけでも理にかなっています。
一般的に、私はAOL(webpagetest.orgを実行する)の「1つのサイズですべてに対応する」というアドバイスに同意します。1秒の違い( Last-Modified-Timeが検出できる)は、手元のジョブに対して実行されます。
ページが1秒間に数回更新されており、表示する最新の最も正確なバージョンが絶対に必要な場合は、HTTP GET以外のソリューションを試すか、ETagを使用することをお勧めします。
ETagにファイルシステムごと、サーバー構成の変更ごとなどの情報(Apacheのデフォルトのiノードなど)が含まれていないことに注意してください。そうしないと、2つのサーバーがある場合に問題が発生します(各サーバーのETagは一致しません)。