我正在编写一个RESTful服务。我在我的服务中实现了E-Tags,修改日期和缓存控制标题。
我也正在为我们的脚本人员编写一个非常简单的Get,Put,Post,Delete请求/响应API。
我正在使用HttpWebRequest,我认为它是一个具有良好控制的低级类,因此我添加了用于提供ETag和条件获取等的API等。
问题是,HttpWebRequest似乎正在做这一切!!当我将缓存级别设置为Revalidate时,它似乎与WinInet缓存(在Windows 7桌面上)一起使用,并自动使用缓存的ETag值添加if-none-match标头。
从表面上看,你认为这很酷;不需要自己缓存ETag和表示,但那不是事实。
例如,我的Web服务向条件get返回NotModified响应,但最终进入我的客户端的响应是200 OK,所以我的测试需要考虑这个抽象。
有没有人更了解这种无证件的行为?
路