2011-09-14 7 views
1

"If-Match"ヘッダーでPUTまたはDELETEを実行すると、クライアントから送信されたETagがむしろ陳腐化を示す場合412を返すだけではなく、最新のエンティティ(HTTPヘッダーに新しいETagを含む)全体を返信したいので、クライアントは別のGET往復を実行する必要はありません。 - 私の使用事例では、少なくとも彼らはおそらく100%のケースで行うだろう。私は412のためにドキュメントにまたはそれに対して何も表示されません412 "前提条件が満たされていない"場合に最新のバージョンのエンティティを返すことは可能です

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.13

とステータスコード409、たとえば、見て、何でもするのが一般的で問題になるとは思われません1は4XXエラーのレスポンスボディを好き: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.10

ので、(特にHTTPの仕様で)何がリターンに対して完全な最新のエンティティを話し、そのETagのでしょうか?

答えて

0

リクエストは何ですか? If-None-MatchでGETしますか?その場合、サーバーはとにかく412を返すはずではありません。

PUT、DELETEの場合は、確かにを返します。大規模な表明については、それを必要としないクライアントにとっては不便です。

Locationヘッダーを使用してペイロードにリソースの表示をラベル付けすることもできます。 http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-16.html#identifying.response.associated.with.representationを参照してください。

+0

あなたは一種の "それはGETです...?" 答え自分自身に疑問を呈していますが、正確に私が話していることを私の質問で明確にしました。私が412と古くなったETagsについて話していると、PUTとDELETE(そしておそらくPOST、私はそれを使わないが)+ If-Matchだけが私が話すことができるものであることを理解している。 (非修辞的な質問) –

+0

'Location'ヘッダーヒントありがとう。確かに、たとえそれがリソースをPUTまたはDELETEする方法を知っているかのように、サービスの消費者にとって有用であれば、彼らはそれを得る方法を確かに知っています。あなたの投稿を編集し、レスポンス本文を送信するのがいつ良いのか、そうでないのかを指定するRFC部分への参照を追加しました。それは私が(また)関心を持っていたことです。あなたが編集を受け入れるときにあなたの答えを受け入れるか、人々があなたの主張を確認するためにチェックできる何か「公式」への他の参照を提供します。 –

関連する問題