前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ajax 对缓存的处理

Ajax 对缓存的处理

作者头像
Meng小羽
修改2019-12-23 15:26:59
8020
修改2019-12-23 15:26:59
举报
文章被收录于专栏:Debug客栈Debug客栈

缓存

浏览器的一次请求需要从服务器获得许多css、img、js等相关的文件,如果每次请求都把相关资源文件加载一次,对带宽、服务器资源、用户等待时间都有严重的损耗,浏览器有做优化处理,就是把css、img、js等文件在第一次请求成功后就在本地保留一个缓存备份,后续的每次请辞u就在本身获得相关的缓存资源文件就可以了,可以明显地加快用户的访问速度。

css、img、js等文件可以缓存,但是动态程序文件例如PHP文件不能进行缓存,即使缓存我们也不要其缓存效果。浏览器对动态程序文件缓存的处理解决:

  1. 给请求的地址设置随机数【推荐】;
  2. 给动态程序设置header头信息,禁止浏览器对其缓存。

给请求的地址设置随机数

代码语言:javascript
复制
<!DOCTYPE html> 
<html lang="en"> 
<head>     
    <meta charset="UTF-8">     
    <title>Ajax对缓存的处理</title>     
    <script type="text/javascript">         
    function f1(){        
        var xhr = new XMLHttpRequest();      
        xhr.open('get', './server.php?'+Math.random());             
        xhr.send(null);         
    }     
    </script> 
</head> 
<body>     
    <h2>Ajax对缓存的处理</h2>     
    <input type="button" value="触发" onclick="f1()">     
    <div id="result"></div> 
</body> 
</html>

给动态程序设置header头信息

代码语言:javascript
复制
//设置header头禁止浏览器缓存当前页面 
header("Cache-Control:no-cache"); 
header("Pragma:no-cache"); 
header("Expires:-1"); 
$fp = fopen("test.txt","a"); 
fwrite($fp, "php "); fclose($fp);

本文链接:https://cloud.tencent.com/developer/article/1557680

本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 给请求的地址设置随机数
  • 给动态程序设置header头信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档