加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax的缓存机制

发布时间:2020-12-16 02:07:30 所属栏目:百科 来源:网络整理
导读:Ajax的缓存机制和浏览器处理资源时的缓存机制是一样的。 三条简单规则: 只要是URL相同的GET请求,浏览器会使用缓存(当然还要看服务器的Cache-Control/Expires/Last-Modified/ETag头的设置)。 只要是POST请求,浏览器都不会缓存。 Https的请求,浏览器不会缓

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

三条简单规则:

  1. 只要是URL相同的GET请求,浏览器会使用缓存(当然还要看服务器的Cache-Control/Expires/Last-Modified/ETag头的设置)。
  2. 只要是POST请求,浏览器都不会缓存。
  3. Https的请求,浏览器不会缓存( 绝大数情况如此,但是也有例外,据说FF浏览器是例外 一般情况下如此,FF浏览器会缓存到内存。如果服务器在响应的HTTP头中做了设置,如Cache-Control:max-age=60,几乎所有的现代浏览器都会把缓存写到本地)。

补充:

  1. 在URL中拼入随机的查询字符串可以使浏览器认为这是一个新的请求,从而不使用缓存。
  2. 在Ajax的请求中设置Http头: If-Modified-Since:0,告诉服务器要新的内容。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读