header()函数使用说明


Posted in PHP onNovember 23, 2006

一、作用:  
~~~~~~~~~  
       PHP只是以HTTP协议将HTML文档的标头送到浏览器,告诉浏览器具体怎么处理这个页面,至于传送的内容则需要熟悉一下HTTP协议了,与PHP无关了,可参照http://www.w3.org/Protocols/rfc2616/rfc2616。  
       传统的标头一定包含下面三种标头之一,并只能出现一次。  
       Location:  xxxx:yyyy/zzzz  
       Content-Type:  xxxx/yyyy  
       Status:  nnn  xxxxxx  
 
二、先来了解一下HTTP协议的运作方式
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
       HTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。  
       它分四个过程,在HTTP协议中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器或者下载工具等等。在通讯时,由客户端发出请求连接,服务端建立连接;然后,客户端发出HTTP请求(Request),服务端返回响应信息(Respond),由此完成一个HTTP操作。  
 
三、HTTP协议状态码表示的意思
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~  

1××

保留  

2××

表示请求成功地接收  

3××

为完成请求客户需进一步细化请求  

4××

客户错误  

5××

服务器错误  

四、操作实例:  
~~~~~~~~~~~~~  
   <1>  重定向功能,这种最常见  
       <?php  
           Header("Location:  http://www.php.net");    
       ?>  

   <2>  强制用户每次访问这个页面时获取最新资料,而不是使用存在客户端的缓存。  
       <?php  
           //告诉浏览器此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。  
           header("Expires:  Mon,  26  Jul  1970  05:00:00  GMT");  
           //告诉浏览器此页面的最后更新日期(用格林威治时间表示)也就是当天,目的就是强迫浏览器获取最新资料  
           header("Last-Modified:  "  .  gmdate("D,  d  M  Y  H:i:s")  .  "GMT");  
           //告诉客户端浏览器不使用缓存  
           header("Cache-Control:  no-cache,  must-revalidate");  
           //参数(与以前的服务器兼容),即兼容HTTP1.0协议  
           header("Pragma:  no-cache");      
           //输出MIME类型  
           header("Content-type:  application/file");      
           //文件长度  
           header("Content-Length:  227685");      
           //接受的范围单位  
           header("Accept-Ranges:  bytes");  
           //缺省时文件保存对话框中的文件名称  
           header("Content-Disposition:  attachment;  filename=$filename");  
       ?>  

   <3>  输出状态值到浏览器,主要用于访问权限控制  
       <?php  
           header('HTTP/1.1  401  Unauthorized');  
           header('status:  401  Unauthorized');  
       ?>  
           比如要限制一个用户不能访问该页,则可设置状态为404,如下所示,这样浏览器就显示为即该页不存在  
       <?php  
           header('HTTP/1.1  404  Not  Found');  
           header("status:  404  Not  Found");  
       ?> 

PHP 相关文章推荐
php SQL防注入代码集合
Apr 25 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
PHP多进程编程实例
Oct 15 PHP
php生成短域名函数
Mar 23 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
Mar 16 PHP
CI操作cookie的方法分析(基于helper类库)
Mar 28 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 PHP
PHP扩展安装方法步骤解析
Nov 24 PHP
如何使用脚本模仿登陆过程
Nov 22 #PHP
php5 and xml示例
Nov 22 #PHP
PHP中的类-什么叫类
Nov 20 #PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 #PHP
PHP配置心得包含MYSQL5乱码解决
Nov 20 #PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 #PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 #PHP
You might like
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
php实现paypal 授权登录
2015/05/28 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
js 函数调用模式小结
2011/12/26 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
javascript事件冒泡简单示例
2016/06/20 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
Python多线程学习资料
2012/12/19 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Python下简易的单例模式详解
2019/04/08 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
大学毕业通用个人的求职信
2013/12/08 职场文书
企业军训感言
2014/02/08 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
学习十八大宣传标语
2014/10/09 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
在职证明格式样本
2015/06/15 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server