3

私はRESTfulサービスを書いています。サービスにEタグ、変更された日付、およびキャッシュ制御ヘッダーを実装しました。

また、スクリプト担当者が使用できる非常に単純なGet、Put、Post、Delete要求/応答APIを作成しています。

細かく制御できる低レベルのクラスだと思っていたHttpWebRequestを使用しているので、ETagや条件付き取得などを提供するためのAPIを追加しました。

問題は、HttpWebRequestがすべてそれを実行しているようです!! キャッシュレベルをRevalidateに設定すると、WinInetキャッシュ(Windows 7デスクトップ)で機能し、キャッシュされたETag値でif-none-matchヘッダーを自動的に追加するようです。

表面的には、これはクールだと思うでしょう。ETagと表現を独自にキャッシュする必要はありませんが、それは真実ではありません。

たとえば、私のWebサービスは条件付きgetに対してNotModified応答を返しますが、最終的にクライアントに届く応答は200 OKであるため、テストではこの抽象化を考慮する必要があります。

誰かがこの文書化されていない振る舞いについてもっと知っていますか?

ルーク

4

0 に答える 0