Ros*_*ied 7 rest caching content-type content-negotiation
我想知道缓存如何与基于内容协商的API协同工作.由于要获取XML或JSON资源,URI将是相同的,例如:
http://example.com/bikes/mountain
Run Code Online (Sandbox Code Playgroud)
该服务基于Accept类型标头返回JSON/XML.缓存有多聪明?
例如:
缓存检查接受/内容类型吗?或者这会导致JSON请求者获取XML数据,因为服务器缓存了什么?我希望这是一个非常明显的东西已经被照顾,否则,在URI中包含.xml/.json是不是一个非常大的论据?
我想我的问题基本上是,我可以安全地使用内容协商,同时仍然使用标准缓存技术吗?
Darrel 是正确的,因为 Vary 标头告诉客户端可以改变哪些请求标头以获得资源的不同表示形式。
该值告诉客户端它可以通过设置或更改 Accept 标头(在您的情况下为 JSON 或 XML)来请求不同文件格式的表示形式。如果您使用 Accept-Language 标头,您还可以获得英语和法语的山地自行车的不同表示形式。
这两个请求发送不同的值,因此应始终单独缓存它们。
当您在 Vary 标头中使用“*”值时,这意味着不应缓存响应。
| 归档时间: |
|
| 查看次数: |
1234 次 |
| 最近记录: |