欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅谈Ajax的缓存机制

程序员文章站 2023-11-09 19:21:46
ajax的缓存机制和浏览器处理资源时的缓存机制是一样的。 三条简单规则: 只要是url相同的get请求,浏览器会使用缓存(当然还要看服务器的cache-control/...

ajax的缓存机制和浏览器处理资源时的缓存机制是一样的。

三条简单规则:

只要是url相同的get请求,浏览器会使用缓存(当然还要看服务器的cache-control/expires/last-modified/etag头的设置)。
只要是post请求,浏览器都不会缓存。
https的请求,浏览器不会缓存(绝大数情况如此,但是也有例外,据说ff浏览器是例外)。

补充:

在url中拼入随机的查询字符串可以使浏览器认为这是一个新的请求,从而不使用缓存。
在ajax的请求中设置http头: if-modified-since:0,告诉服务器要新的内容。

补充说明:

一般情况下,用户手动触发浏览器刷新(windows:f5 macos:command+r),浏览器会忽略资源的cache-control/expires头的设置,而去连接服务器。无论是页面刷新还是ajax刷新都是如此。但我听说,ie浏览器不遵循这个规则。也不知道是不是所有版本的ie浏览器都是这样。如果有哪位大侠清楚这个,不吝赐教。