php header()函数使用说明


Posted in PHP onJuly 10, 2008

header()函数使用说明:  

一、作用:  
~~~~~~~~~  
       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创建PDF中文文档
Oct 09 PHP
PHP strtr() 函数使用说明
Nov 21 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
PHP中的self关键字详解
Jun 23 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 #PHP
兼容PHP5的PHP目录管理函数库
Jul 10 #PHP
php 防止单引号,双引号在接受页面转义
Jul 10 #PHP
功能齐全的PHP发送邮件类代码附详细说明
Jul 10 #PHP
使用PHP批量生成随机用户名
Jul 10 #PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 #PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 #PHP
You might like
杏林同学录(九)
2006/10/09 PHP
php递归函数怎么用才有效
2018/02/24 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
JS 分号引起的一段调试问题
2009/06/18 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
跟老齐学Python之总结参数的传递
2014/10/10 Python
python实现Floyd算法
2018/01/03 Python
python删除字符串中指定字符的方法
2018/08/13 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python函数式编程实例详解
2020/01/17 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
汉语专业应届生求职信
2013/10/01 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
2016党员发展对象培训心得体会
2016/01/08 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
公司晚会主持词
2019/04/17 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书