http禁用缓存、文件下载
一、一个完整的http响应报文:
Location:http://www.baidu.org/index.phpServer:apacheContent-Encoding:gzip //内容编码支持的压缩算法:gzipContent-Length:80 //返回数据的大小Content-Language:zh-cnContent-Type:text/html;charset=GB2312Last-Modified:Tue,11 Jul 2000 18:23:51 GMT //浏览器请求的最新时间Refresh:1;url=http://www.baidu.com //告诉浏览器间隔1秒重定向到百度去Content-Disposition:attachment;filename=aaa.zipTransfer-Encoding:chunkedSet-Cookie-SS=Q0=5Lb_nQ;path=/searchExpires:-1 .//控制不缓存该页面(以下两句作用相同,只是为了解决浏览器兼容问题Cache-Control:no-cachePragma:no-cacheConnection:close/Keep-AliveDate:Tue,11 Jul 2000 18:223:52 GMT
二、实例:如何通过http响应,控制浏览器的跳转间隔时间(3秒)
<?phpheader("Refresh:3;url:http:www.sohu.com");?>
三、实例:网页默认缓存,此处禁用网页的缓存机制
<?php//通过 header 禁用缓存header("Expires:-1");header("Chche-Control:no_cache");header("Pragma:no_cache");echo "Hello,chche";?>
四、实例:http实际应用之文件下载
<?php//演示下载一个文件//如果文件是中文的,则会出现乱码,必须使用iconv("utf-8", "gb2312", $file_name);函数将编码格式转为gb2312$file_name = "Sunset.jpg";$file_name = iconv("utf-8", "gb2312", $file_name);//1、打开文件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;$file_count = 0; //为了下载安全,做的文件字节读取计数器while(!feof($fp) && ($file_size - $file_count >0)) { //判断文件是否结束$file_data = fread($fp, $buffer); //把部分数据回送给浏览器$file_count += $buffer; // echo $file_data;}//关闭文件fclose($fp);?>
http禁用缓存、文件下载相关推荐
- SpringBoot 【IDEA热部署+浏览器禁用缓存】迅速提升效率
SpringBoot微服务写页面,每次都需要重启才生效,使用[IDEA热部署+浏览器禁用缓存]迅速提升效率: 参考 https://blog.csdn.net/qq_27416233/article/ ...
- chrome浏览器的跨域设置 Google Chrome浏览器下开启禁用缓存和js跨域限制--disable-web-security...
chrome用户默认路径 Win7:C:\Users\[用户名]\AppData\Local\Google\Chrome\User Data\ XP:C:\Documents and Settings ...
- HTML 如何禁用缓存
缓存可以加快Web请求的速度,在Web应用中,缓存有多种, 包括: 浏览器端缓存 中间缓存服务器端缓存 Web服务器端缓存 以浏览器端缓存为例,浏览器将服务端响应的页面.图片.样式或是JS文件等保存在 ...
- sql查询禁用缓存_如何在SQL Server 2017中启用和禁用身份缓存
sql查询禁用缓存 Every data warehouse developer is likely to appreciate the significance of having surrogat ...
- Chrome禁用缓存
Chrome默认对JS和CSS等静态资源进行缓存,对HTML不启用缓存. 在开发阶段,我们想要更改之后马上看到效果,那就必须禁用JS和CSS. 快捷键是F12+F1,F12相当于打开dev-tool, ...
- 谷歌浏览器和火狐浏览器永久禁用缓存【一劳永逸的解决方式】
目录 前言 谷歌浏览器 方式一 方式二 火狐浏览器 前言 缓存对于开发人员来说异常的痛苦,很多莫名其妙的bug就是由缓存导致的,但当我们在网上查找禁用缓存的方式时,找到的方式大多数都是在开发者工具的面 ...
- nginx禁用缓存_如何开启或禁用nginx缓存
有时我们在调试网站程序的时候,会遇到由于浏览器的缓存导致的代码修改无效的问题,此时我们必须强制刷新后才能清掉缓存,非常的不方便. (学习视频分享:编程视频) 如果我们禁用nginx缓存,让浏览器每次到 ...
- win10一键优化禁用缓存,禁用组件,
win10一键优化禁用缓存,禁用组件, 网盘下载地址: http://www.bytepan.com/ZJtEINyARsQ
- 【ajax】Ajax $().load() 禁用缓存
最近使用jquery中的load加载页面时会出现页面只加载一次,而且这种情况只出现在ie浏览器中,chrome就不会,一开始以为是ie浏览器的原因,后来上网查了一下发现是ajax缓存的原因,所以在页面 ...
- chrome谷歌浏览器开发者模式禁用缓存的设置方法
开发时建议关闭chrome的缓存[Disable cache(while DevTools open)] 问题:修改了css,JS后,chrome看不到效果
最新文章
- @ResponseBody 注解
- 实战项目一:爬取西刺代理(获取代理IP)
- 决策树:特征分布空间划分方法
- JetBrains 加入 .NET 基金会
- 520 钻石争霸赛 题解
- Spring Cloud与微服务学习总结(3)——认证鉴权与API权限控制在微服务架构中的设计与实现(一)
- thinkphp5 没有getField
- 彻底关闭Excle进程的几个方法
- matlab光伏最大功率,基于MATLAB的光伏电池最大功率点跟踪研究
- 目前主要的网络试衣系统
- 华为USG防火墙搭建IPsec***实战
- Windows 使用命令行查看 wifi 密码
- windows笔记本查看电池损耗
- php面试题和答案整理
- CSS 悬停的用法
- Android 热修复原理解析
- HTTP协议与HTTPS协议详解(含常见面试题)
- 2022年内蒙古最新建筑八大员(标准员)模拟考试试题及答案
- Hbuildx打包ios自定义基座
- 个人求职简历(.Net)--求广州暑期实习
热门文章
- 《查理·芒格:你是一条狗-雾满拦江》
- 摄氏度和华氏度的相互转换
- win10系统迁移后系统重装_怎样将Win10系统转移到SSD固态硬盘
- tekton pipelineresource资源
- element-ui table列表自定义表头,修改列标题样式、添加tooltip
- tab按钮样式 vue_vant 解决tab切换插件标题样式自定义的问题
- matlab 定义结构体数组,结构体数组及其定义和使用,C语言结构体数组详解
- 不透明度十六进制_十六进制不透明度表
- openGL渲染管线流程-顶点着色器,曲面细分着色器,几何着色器,片元着色器顺序
- IBM SPSS Statistics如何快速有效地录入数据