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 相关文章推荐
编译问题
Oct 09 PHP
ftp类(myftp.php)
Oct 09 PHP
一个php作的文本留言本的例子(二)
Oct 09 PHP
支持php4、php5的mysql数据库操作类
Jan 10 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
Apr 01 PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
php身份证号码检查类实例
Jun 18 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
php 可变函数使用小结
Jun 12 PHP
php实现在线考试系统【附源码】
Sep 18 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实现微信公众平台账号自定义菜单类
2015/10/11 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
php多线程并发实现方法
2016/09/30 PHP
php常用字符函数实例小结
2016/12/29 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
Python星号*与**用法分析
2018/02/02 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
Python 3 判断2个字典相同
2019/08/06 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
跟单文员岗位职责
2014/01/03 职场文书
家长对小学生的评语
2014/01/28 职场文书
任长霞观后感
2015/06/16 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python