Ajax缓存原理
2016-03-23 15:25
274 查看
原文:http://www.lingdublog.com/123.html
一、什么是Ajax缓存原理
Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和用户体验。当前这要求两次请求URL完全相同,包括参数。这个时候,浏览器就不会与服务器交互。
关于Ajax的更多内容请参考《Ajax简介》
二、Ajax缓存的好处
这种设计使客户端对一些静态页面内容的请求,比如图片,css文件,js脚本等,变得更加快捷,提高了页面的响应速度,也节省了网络通信资源。
三、Ajax缓存的不足
Ajax缓存虽然有上述的好处,但是如果通过Ajax对一些后台数据进行更改的时候,虽然数据在后台已经发生改变,但是页面缓存中并没有改变,对于相同的URL,Ajax提交过去以后,浏览器还只是简单的从缓存中拿数据,这种情况当然就不行了。
四、解决Ajax缓存问题的方法
解决这个问题最有效的办法是禁止页面缓存,有以下几种处理方法:
1.在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”);
2.在服务端加 header(“Cache-Control: no-cache, must-revalidate”);
3.在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0″);
关于页面缓存的更多内容请参考《【Web优化】Yslow优化法则(三)添加缓存控制首部》,《HTTP基本原理(浏览器缓存)》
一、什么是Ajax缓存原理
Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和用户体验。当前这要求两次请求URL完全相同,包括参数。这个时候,浏览器就不会与服务器交互。
关于Ajax的更多内容请参考《Ajax简介》
二、Ajax缓存的好处
这种设计使客户端对一些静态页面内容的请求,比如图片,css文件,js脚本等,变得更加快捷,提高了页面的响应速度,也节省了网络通信资源。
三、Ajax缓存的不足
Ajax缓存虽然有上述的好处,但是如果通过Ajax对一些后台数据进行更改的时候,虽然数据在后台已经发生改变,但是页面缓存中并没有改变,对于相同的URL,Ajax提交过去以后,浏览器还只是简单的从缓存中拿数据,这种情况当然就不行了。
四、解决Ajax缓存问题的方法
解决这个问题最有效的办法是禁止页面缓存,有以下几种处理方法:
1.在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”);
2.在服务端加 header(“Cache-Control: no-cache, must-revalidate”);
3.在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0″);
关于页面缓存的更多内容请参考《【Web优化】Yslow优化法则(三)添加缓存控制首部》,《HTTP基本原理(浏览器缓存)》
相关文章推荐
- 树莓派初次开机for mac
- IP地址与端口号
- BZOJ1066蜥蜴
- hrbust 1430 哈理工oj 1430 神秘植物【递推+矩阵快速幂】
- Android高德地图开发流程
- PHP框架相关
- hadoop java.lang.RuntimeException: java.lang.NoSuchMethodException
- 微信博客
- vim中末行去掉^M
- 228. Summary Ranges
- 在Eclipse中关联Android Private Libraries中文件的源代码
- android中自定义WebView显示网页或本地html文件
- selenium操作浏览器
- 二维凸包模板——kuangbin版
- Python-2.7.11+Django-1.9.4安装配置
- How NLB balances network traffic
- 初次接触flex的编程与问题解决(有关gcc的静态库链接)
- 导航栏当前栏目(父栏目)高亮显示
- Windows 组件服务我的电脑出现红色向下箭头
- 文章标题