javascript – 哪些浏览器在缓存XMLHTTPRequest响应时遇到问题?

当前流行的浏览器是否存在缓存* XMLHttpRequest响应的特殊问题,我需要注意这些问题?

我希望能够在每个页面上包含XMLHttpRequest查询作为动态加载与页面类型相关的内容(即JSON)或行为(如eval()ed Javascript)的方法,但希望确保资源如果服务器发送了正确的标头,它可以缓存从服务器接收的内容.

我担心阅读this article which mentions浏览器,例如Firefox 1.1不会缓存通过XMLHTTPRequest获取的任何内容,并且它总是请求完全发送新数据(使用Cache-Control且不使用If-Modified-Since),无论是否由服务器.

显然这篇文章很老 – 我甚至不记得Firefox 1.1;那么我需要为当前流行的浏览器做些什么呢?当我特别希望缓存响应时,有什么技巧吗?

**为了澄清我的问题,通过缓存,我的意思是客户端缓存,其中服务器发出新鲜度信息(以Cache-Control形式:max-age指令或Expires:标头),浏览器存储副本缓存中的响应以及到期日期,以便可以从浏览器缓存满足将来对后续页面发出的相同资源的请求,而根本不需要与服务器进行任何联系.对于大多数内容,所有主流浏览器都能正确执行此操作,但我听说Firefox无法为XMLHttpRequest内容执行此操作.我问的是,如果有人知道任何现代浏览器在使用XMLHttpRequest时根据规范不缓存响应的情况.*

最佳答案
Mark Nottingham有an excellent set of functional tests演示了浏览器XMLHttpRequest缓存行为.在您想要支持的浏览器中加载页面,并找出可以使用哪些技术而不能依赖缓存响应的技术.

转载注明原文:javascript – 哪些浏览器在缓存XMLHTTPRequest响应时遇到问题? - 代码日志