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 相关文章推荐
一个图形显示IP的PHP程序代码
Oct 19 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
php判断ip黑名单程序代码实例
Feb 24 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 PHP
php PDO异常处理详解
Nov 20 PHP
Laravel实现autoload方法详解
May 07 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 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支付宝APP支付功能
2020/07/29 PHP
网站上面有这种切换效果
2006/06/26 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
python中bytes和str类型的区别
2019/10/21 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
资深地理教师自我评价
2013/09/21 职场文书
十八大闭幕感言
2014/01/22 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
董事长年会致辞
2015/07/29 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
python实现Nao机器人的单目测距
2021/09/04 Python
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android
讲解Python实例练习逆序输出字符串
2022/05/06 Python