我想知道基于内容协商的API如何使用缓存。由于获取XML或JSON格式的资源时,URI是相同的,例如:
http://example.com/bikes/mountain
该服务根据Accept类型头返回JSON/XML。缓存有多聪明呢?
例如,如果一个客户端使用Accept类型请求返回XML,则响应将由Web服务器缓存1分钟。第二个客户端使用Accept类型请求返回JSON请求同一资源。
缓存是否根据接受/内容类型进行检查?还是这会导致JSON请求者得到XML数据,因为这是服务器缓存的数据?我希望这已经被解决了,否则,这不是在URI中包含.xml/.json的一个很大的理由吗?
我的问题基本上是,我是否可以在使用标准缓存技术的同时安全地使用内容协商?