博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ajax的缓存机制
阅读量:5945 次
发布时间:2019-06-19

本文共 597 字,大约阅读时间需要 1 分钟。

  hot3.png

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

三条简单规则:

  1. 只要是URL相同的GET请求,浏览器会使用缓存(当然还要看服务器的Cache-Control/Expires/Last-Modified/ETag头的设置)。
  2. 只要是POST请求,浏览器都不会缓存。
  3. Https的请求,浏览器不会缓存(<strike>绝大数情况如此,但是也有例外,据说FF浏览器是例外</strike>一般情况下如此,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浏览器都是这样。如果有哪位大侠清楚这个,不吝赐教。

转载于:https://my.oschina.net/nswish/blog/373971

你可能感兴趣的文章
silverlight学习布局之:布局stackpanel
查看>>
理解并自定义HttpHandler
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
JavaScript标准库系列——RegExp对象(三)
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
oracle中create table with as和insert into with as语句
查看>>
kafka连接异常
查看>>
11g废弃的Hint - BYPASS_UJVC
查看>>
为什么工业控制系统需要安全防护?
查看>>
Mongodb部署记录[3]-主从搭建
查看>>
hive sql操作
查看>>
tomcat 深度优化
查看>>
127 - "Accordian" Patience
查看>>
阿里云CentOS7安装Oracle11GR2
查看>>
nginc+memcache
查看>>
php正则匹配utf-8编码的中文汉字
查看>>
MemCache在Windows环境下的搭建及启动
查看>>
linux下crontab实现定时服务详解
查看>>
Numpy中的random模块中的seed方法的作用
查看>>
用java数组模拟登录和注册功能
查看>>