浅谈Ajax的缓存机制

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浏览器都是这样。如果有哪位大侠清楚这个,不吝赐教。

时间: 2024-10-24 06:16:58

浅谈Ajax的缓存机制的相关文章

浅谈Ajax的缓存机制_AJAX相关

Ajax的缓存机制和浏览器处理资源时的缓存机制是一样的. 三条简单规则: 只要是URL相同的GET请求,浏览器会使用缓存(当然还要看服务器的Cache-Control/Expires/Last-Modified/ETag头的设置). 只要是POST请求,浏览器都不会缓存. Https的请求,浏览器不会缓存(绝大数情况如此,但是也有例外,据说FF浏览器是例外). 补充: 在URL中拼入随机的查询字符串可以使浏览器认为这是一个新的请求,从而不使用缓存. 在Ajax的请求中设置Http头: If-Mo

浅谈Ajax请求与浏览器缓存_AJAX相关

在现代Web应用程序中,前端代码充斥着大量的Ajax请求,如果对于Ajax请求可以使用浏览器缓存,那么可以显著地减少网络请求,提高程序响应速度. 1. Ajax Request 使用jQuery框架可以很方便的进行Ajax请求,示例代码如下: $.ajax({ url : 'url', dataType : "xml", cache: true, success : function(xml, status){ } }); 非常简单,注意其中的第4行代码:cache:true,显式的要

浅谈ajax请求技术_AJAX相关

1.写在前面: 阅读要求: 具有一定的HTML.CSS.JavaScript.Json基础 2.什么是ajax Ajax:即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 3.为什么使用ajax 在动态网页开发技术中,客户端(通常是浏览器)与服务端进行数据交互是十分频繁的,如何节省网络资源,提供良好的用户体验是十分关键的.Ajax采用异步请求方式,使得不用刷新整个页面就可以和后台实现数据

浅谈ajax请求技术

1.写在前面: 阅读要求: 具有一定的HTML.CSS.JavaScript.Json基础 2.什么是ajax Ajax:即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 3.为什么使用ajax 在动态网页开发技术中,客户端(通常是浏览器)与服务端进行数据交互是十分频繁的,如何节省网络资源,提供良好的用户体验是十分关键的.Ajax采用异步请求方式,使得不用刷新整个页面就可以和后台实现数据

浅谈Ajax和JavaScript的区别

javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript. Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略. 在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容. 在 Ajax应用中信息是如何在浏览器和服务器之间传递的. 通过XML数据或者字符串 以上这篇

浅谈AJAX

ajax 这两年在WEB上有一个技术新名词挺惹眼的就是那个什么AJAX,当初我一直在做JAVASCRIPT的相关应用听说过但一直没有注意它,后来看了一下,来说说自己的理解. AJAX是Asynchronous JavaScript and XML的缩写(虽说它名字的发明人Jesse James Garrett并不承认这是那一串单词的缩写),看名字就知道这是一个关于异步的JAVASCRIPT和XML的应用. 说实话我挺反感这个名词,原因很简单,它不是什么新技术,而是炒作出来的一个新名词.而其内容也

浅谈Ajax技术中的先进性与局限性

先进性: 1.表单驱动的交互 传统的表单提交,在文本框输入内容后,点击按钮,后台处理完毕后,页面刷新,再回头检查是否刷新结果正确.使用Ajax,在点击sunmit按钮后,立刻进行异步处理,并在页面上快速显示了更新后的结果,这里没有整个页面刷新的问题. 2.深层次的树的导航 深层次的级联菜单(树)的遍历是一项非常复杂的任务,使用JavaScript来控制显示逻辑,使用Ajax延迟加载更深层次的数据可以有效的减轻服务器的负担. 3.快速的用户与用户间的交流响应 在众多人参与的交流讨论的场景下,最不爽

浅谈ASP.NET内部机制(八)

前言:之前几篇文章写了有关视图的知识,也讲述了如何实现IStateManager接口.本篇将讲解如何实 现自定义转换器.当然了,有大量的代码演示!本篇算是有关视图机制的终结篇,还会讲解有关 ControlStatel控件状态的实现. 有个小插曲,其实之前我已经把文章写了一大半,不知道怎么回事,IE出了问题,自动关闭了,真是 心痛阿,现在得重写一遍.我想每个写博文的朋友都有这样的经历吧,写一篇文章真的很不容易! 在上篇中,我们讲解了如何在一个自定义控件中保存自定义类的属性,我现在再次把代码贴出来,

浅谈ASP.NET内部机制(七)

前言:本篇讲解与视图ViewState相关的知识,包括IStateManager,自定义转换器TypeConvert,以及和 视图功能相同的控件状态.可以说本篇是对保存状态有关知识的总结,代码也详细的给出. 自从上次写了有关视图的文章后,收到了很多朋友的邮件,很感谢大家的支持:)很多朋友都说要求 说说实践性更强的东西,所以本篇就进一步的来谈谈视图(不仅仅只是视图,而且在ASP.NET中的状态保 存的话题).首先希望大家对自定义控件有一定的了解.大家可以去参看我的控件开发系列. 首先我看从一个简单