演示如何通过Http响应控制页面缓存,在默认情况下,浏览器是会缓存页面的
1.禁用缓存设置
(1).我在...\htdocs\http文件夹,写一个cache.php文件如下:
<?php
echo "hello!cache";
?>
在浏览器中输入地址访问cache.php这个文件,结果如下:

(2)接下来,我们把光标放在地址栏,然后按一下回车键如下:
抓包如下:我根据数据包知道,一旦第一次刷新获取过这个页面,浏览器默认都会缓存这个页面,那么下次再次访问,就在缓存中取这个页面,给用户。
(3).接下来我们来修改这个cache.php文件,如下:
<?php//通过header来禁止缓存(ajax) header("Expries: -1"); header("Cache-Control:no_cache"); header("Pragma:no-cache"); echo "hello!cache";?>
<?php//演示一个图片 $file_name ="B01.jpg";//打开文件if(!file_exists($file_name)){ echo "文件不存在";return;} $fp = fopen($file_name,"r");//获取下载文件的大小 $file_size= filesize($file_name);//返回的是文件的形式 header("Content-type: application/octet-stream");//以字节大小进行返回 header("Accept-Ranges:bytes");//返回文件大小 header("Accept-Length:$file_size");//这里对应客户端的弹出对话框,对应的文件名 header("Content-Disposition:attachment; filename=".$file_name); $buffer =1024;//向客户端回送数据//这句话用于判断文件是否结束while(!feof($fp)){ $file_data = fread($fp,$buffer);//把部分数据回送到浏览器 echo $file_data;} fclose($fp);?>
原文:http://www.cnblogs.com/hebao0514/p/fc2316538cf7860c025e8b0c553f019d.html