休息内容协商和缓存
我想知道如何缓存与基于内容协商的API协同工作。 由于要以XML或JSON获取资源,因此URI将相同,例如:
http://example.com/bikes/mountain
该服务根据Accept类型标题返回JSON / XML。 高速缓存有多聪明?
例如:
高速缓存检查接受/内容类型? 或者这会导致JSON请求者获取XML数据,因为这是服务器缓存的内容? 我希望这是如此明显,它已经被照顾,否则,这不是一个非常大的参数,在URI中包含.xml / .json?
我想我的问题基本上是,我仍然可以安全地使用内容协商,同时仍然使用标准的缓存技术?
Darrel是正确的,因为Vary头告诉客户端哪些请求头可以变化以获得资源的不同表示。
该值告诉客户它可以通过设置或更改Accept标头(在您的情况下为JSON或XML)以不同的文件格式请求表示。 如果您使用Accept-Language标题,您还可以用英语和法语获得山地自行车的不同表示形式。
这两个请求发送不同的值,所以它们应该总是分开缓存。
当你在Vary头中使用'*'值时,这意味着不应该缓存响应。
是。 查看RFC 2616中Vary头的描述
在我简单理解各种头部的情况下,缓存将使用在头部中命名的头部字段来唯一标识缓存的表示。
链接地址: http://www.djcxy.com/p/46317.html