RequestCacheLevel.BypassCache
上的documentation并不能很好地解释用HttpWebRequest
设置这个的内部工作。我有几个问题:
这是指什么缓存?
aprevious comment这意味着它与Internet Explorer共享?
此设置是否添加任何cache control标题?
这与设置标题的NoCacheNoStore
&Reload
相比如何?
如果我想确保(尽可能从客户端)内容不来自缓存,这是最好的选择吗?
最佳答案
回答我自己的问题:HttpWebRequest
确实使用了ie缓存,RequestCacheLevel.BypassCache
引用了该缓存。
设置正在添加缓存控制头
与NoCacheNoStore
相比,两者都避免缓存;但是,BypassCache
将加载到缓存中,因此如果您以后执行请求,它将在缓存中。Reload
类似,但是报头允许代理从缓存中返回,而BypassCache
也告诉代理忽略它们的缓存。
是的,这是最好的选择;)