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读取RSS feed的代码
Aug 01 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
PHP高级OOP技术演示
Aug 27 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
php一个找二层目录的小东东
Aug 02 PHP
php截取字符串并保留完整xml标签的函数代码
Feb 06 PHP
php函数间的参数传递(值传递/引用传递)
Sep 23 PHP
CodeIgniter实现更改view文件夹路径的方法
Jul 04 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
php强制更新图片缓存的方法
Feb 11 PHP
PHP/HTML混写的四种方式总结
Feb 27 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
分享一下贝贝成长进度的php代码
2012/09/14 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
python同时遍历数组的索引和值的实例
2018/11/15 Python
python 调用有道api接口的方法
2019/01/03 Python
python redis 删除key脚本的实例
2019/02/19 Python
Python类型转换的魔术方法详解
2020/12/23 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
大学军训感言1500字
2014/03/09 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
城管年度个人总结
2015/02/28 职场文书
民政工作个人总结
2015/02/28 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android