どの場合-改変-降の場合-変性-か?いんじゃないわよETags?
-
22-09-2019 - |
質問
がなされているとは聞いている二つの方法の実施条件の要求のHTTPヘッダの両方に使用できるキャッシュ範囲の要求、並行処理制御す:
- の場合-変更-からだ-改変-降, では、クライアントが送信した タイムスタンプ の資源です。
- が変更される場合-なし-変更, は、お客様に送信する ETag 表現します。
いずれの場合においても、クライアントが送信した情報では、資源、サーバかどうか判断するための資源に変化したのお客様は、昨していきます。サーバーにその決定を実行するかどうかの要請に応じて条件付きヘッダを提供するサービスです。
かわからないのはなぜ二つの別々のアプローチ可能です。確実にETags優先タイムスタンプは、サーバーでも容易にお選びをETagsからタイムスタンプ.
なので、私の質問:
- るシナリオがご賛成の場合-改変-降の場合-変性-年間ETags?
- るシナリオが必要なもの?
解決
私はかつて同じ事を熟考し、非常に重要である1差があることに気づい:日付を注文することができ、てETagはできません。
この手段いくつかのリソースは一年前に変更された場合、決して以来、私たちはそれを知っています。その後、我々は正しく、任意の日付のリクエスト昨年から-IF-未修飾答えると必ず...それはその日付以降変更されていないされていることに同意することができます。
アンのEtagはアイデンティティのための唯一匹敵します。どちらかそれは同じであるか、そうではありません。あなたは、上記と同じリソースを持っているし、今年中にドキュメントルートは、すべてのファイルに新しいiノードを与えることなく、変更日付を維持し、新しいディスクとファイルシステムに移動された場合。そして、誰かがファイルのinode番号でてETagをベースとしていました。その後、我々は古いのETagが過去-まだ大丈夫-てETagのログを持たず、まだ大丈夫であると言うことはできません。
だから私は他の時代遅れ一つとしてそれらを参照してくださいしないでください。彼らは、さまざまな状況のためのものです。どちらかあなたは簡単にあなたが奉仕しようとしているページ内のすべてのデータの最終更新日時を取得することができ、またはあなたが簡単にあなたが役立つであろう何のためのETagを得ることができます。
あなたは、DBの検索のロットからのデータと動的なWebページを持っている場合は、最終更新日時は、データベースが変更日の多くを含有させることなしには何か言うことは難しいかもしれません。しかし、あなたは常に結果レンダリングされたページのMD5チェックサムを作ることができます。
これらのキャッシュ・プロトコルをサポートしているとき、私は間違いなく、両方の、いずれか一方のみのために決して行きません。
他のヒント
1つのではなく、大きな違いがあります:私はすでに過去にいずれかのサーバーを求めている場合、私は唯一てETagを使用することができます。タイムスタンプは、OTOH、私は私が一緒に行くように構成することができます。
単純な理由:下位互換性