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 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
php4的session功能评述(二)
Oct 09 PHP
php xml文件操作实现代码(二)
Mar 20 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
thinkphp使用phpmailer发送邮件的方法
Nov 24 PHP
php最简单的删除目录与文件实现方法
Nov 28 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
Feb 10 PHP
php中stdClass的用法分析
Feb 27 PHP
详解php的socket通信
Aug 11 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 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不用正则采集速度探究总结
2008/03/24 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
Python求解平方根的方法
2015/03/11 Python
Python比较两个图片相似度的方法
2015/03/13 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python with语句用法原理详解
2020/07/03 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
学院领导推荐信
2013/10/30 职场文书
2014年上半年工作自我评价
2014/01/18 职场文书
写自荐信三大法宝
2014/01/24 职场文书
标准化管理实施方案
2014/02/25 职场文书
主题教育活动总结
2014/05/05 职场文书
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript