Web代理服务器(或其他http缓存)缓存了哪些数据?

时间:2016-09-28 14:59:34

标签: rest http caching http-proxy

我特别感兴趣的是代理服务器(或其他http缓存)是否缓存客户端请求的URI,方法,标题和正文?或者只是URI和方法?

原因是我对负面缓存感到困惑,例如使用400状态代码缓存响应(“错误请求”)。我的意思是如果第一个响应有一个“无效”的主体导致400错误,我们缓存它是否意味着具有“有效”主体的后续请求仍将从缓存获得400响应? (甚至没有命中Origin服务器?

1 个答案:

答案 0 :(得分:0)

GET请求是可以由中间缓存缓存的请求。 如图书"HTTP: The definitive guide"所示,只有网址和标题会被缓存。

PUT,POST和DELETE请求将导致缓存失效,如here所示。

所以我原来的问题(由于无效的身体大约有400个响应)是错误的,因为GET请求不应该根据REST和其他方法(可能有正文)导致缓存无效。

感谢@Adrien指点!