- kazu_yamamoto
- 1720
- 0
- 0
- 0
静的コンテンツに対する ETag は、ModificationTime よりも柔軟なファイルのバージョン番号なのだが、イマイチ使い道が分からない。なので、Mighty ではサポートしてない。
2014-04-07 09:14:41@kazu_yamamoto WebDAV とか使うと ETag 必須じゃないですかね. update のときに If-Match: ヘッダ付けて来たときとか.
2014-04-07 11:17:26.@nom4476 サーバが ETag: を発行しなければ、ブラウザは If-Match を指定できないです。ETag の代わりに、サーバが Last-Modified: を発行すれば、ブラウザは If-Modified-Since: を指定できます。
2014-04-07 11:19:55.@nom4476 分からないのは、Last-Modified: では実現できなくて、ETag: では実現できるぐっとくる例です。modified time がないファイルシステムもあるという例は、ぐっと来ません。
2014-04-07 11:20:55@kazu_yamamoto 時刻だと秒以下で起こる競合の問題がありますね.複数間のファイル同期とかにハマります.WebDAV の ETag の節には Lock の話もあります. https://t.co/OrlKE82Ex9
2014-04-07 11:27:55.@nom4476 RFC 4918 の内容がよく分からないんだけど、Etag だと lock の問題をどうやって防ぐんですか?
2014-04-07 11:37:37@kazu_yamamoto 本質的には1秒以下の間に起こった変更が捉えられないので,lost-update problem が発生して,WebDAV ではよく起こると言ってるだけだと思います.
2014-04-07 11:58:21@kazu_yamamoto 防ぐという意味では,lock をrenew する時に gettag して,自分の持っている etag と変化がなければ,手元の編集中の内容は最新のままだという確信が持てるということです.
2014-04-07 12:04:10@kazu_yamamoto オライリーのハイパフォーマンスWebサイトでは「最終更新日以外の情報を元に有効性を検証したいコンポーネントがあれば、 は強力な手段」とした上でHTTP_USER_AGENTがMSIEかどうかでETagを変える例が出てきます。
2014-04-07 12:43:03@kazu_yamamoto 単にETagを切り替えているだけでなぜそうしたくなったかは書いてません。google booksでetag msieと検索するとその部分が見られます。
2014-04-07 16:10:53@kazu_yamamoto 他の例として http://t.co/qLQUhPJ60Q には、ログイン前後で要素が変わるページをキャッシュする場合などでも使えるとあります。
2014-04-07 16:13:19