Ajax对缓存的处理

缓存
  浏览器的一次请求需要从服务器获得许多的css、img、js等相关文件,如果每次请求都把相关的资源文件加载一次,对带宽、服务器资源、用户等待时间都有严重的损耗,浏览器有做优化处理,其把css、img、js等文件在第一次请求成功后就在本地保留一个缓存备份,后续的每次请求就在本身获得相关的缓存资源文件,可以明显的加快用户的访问速度。
  css、img、js等静态文件可以缓存,但是动态程序文件如php文件就不能缓存,即使缓存我们也不要其缓存效果。
  禁止浏览器对动态程序文件缓存的方法:
  (1)给请求的地址设置随机数[推荐]
  (2)给动态程序设置header头信息

  给请求的地址设置随机数,避免缓存效果:

<!--10-cache.html-->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript">
            function f1(){
                var xhr = new XMLHttpRequest();
                xhr.open('get', './10.php?' + Math.random());//保证每次请求的地址都不一样
                xhr.send(null);
            }
        </script>
    </head>
    <body>
        <h2>ajax发起服务器端的请求(缓存处理)</h2>
        <input type="button" value="触发" onclick="f1()">
    </body>
</html>
//10.php
<?php
$fp = fopen("./10.txt", "a");//追加方式打开10.txt文件(文件不存在会自动创建)
fwrite($fp,"java");//给文件写内容
fclose($fp);//关闭文件
 ?>

  给动态程序设置header头信息:

//10.php
<?php
//设置header头禁止浏览器缓存当前页面
header("Cache-Control:no-cache");
header("Pragma:no-cache");
header("Expirse:-1");

$fp = fopen("./10.txt", "a");//追加方式打开10.txt文件(文件不存在会自动创建)
fwrite($fp,"java");//给文件写内容
fclose($fp);//关闭文件
 ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值