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
PHP编程中字符串处理的5个技巧小结
Nov 13 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 PHP
PHP实现爬虫爬取图片代码实例
Mar 03 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
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
php设计模式小结
2013/02/15 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
php命名空间学习详解
2014/02/27 PHP
php 实现进制相互转换
2016/04/07 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[47:45]Liquid vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
Django URL传递参数的方法总结
2016/08/28 Python
python实现逻辑回归的方法示例
2017/05/02 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
数学教学随笔感言
2014/02/17 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
学校交通安全责任书
2014/08/25 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
车间统计员岗位职责
2015/04/14 职场文书
召开会议通知范文
2015/04/15 职场文书
勤俭节约主题班会
2015/08/13 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python