私は WebDav を使用して、ファイルの ETag プロパティに基づいて、サーバーへの不要な要求を避けるためのキャッシュと共に、サーバーのファイルとフォルダーにメタデータを配置しています。
基本的には、HEAD リクエストを送信し、ETag がローカルのものと一致するかどうかを確認します。そうでない場合は、より大きくて低速のPROPFINDメソッドを送信して、他のプロパティを取得します。
このキャッシュは、メタデータが変更、追加、または削除されたときを含め、ファイルが変更されるたびに ETag が変更されるという考えに基づいて構築されました。
しかし、私は最近、そうではないことを発見しました:
ETag が変更された場合、クライアントは強制的にユーザーにプロンプトを表示したり、変更されたコンテンツを破棄したりする可能性があるため、WebDAV サーバーは本体と場所が変更されていないリソースの ETag (または Last-Modified 時刻) を変更すべきではありません。ETag は、リソースの本文またはコンテンツの状態を表します。プロパティが変更されたかどうかを確認する同様の方法はありません。
(RFC 4918、http: //www.webdav.org/specs/rfc4918.html#etag 、強調鉱山)
プロパティが変更されるたびにキャッシュを無効にすることは私にとって重要なので、私は疑問に思っていました.ETagを更新するようにWebサーバーに手動で指示する方法はありますか?