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 Socket 编程
Apr 09 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 PHP
深入解析php中的foreach函数
Aug 31 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
6种php上传图片重命名的方法实例
Nov 04 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
php生成短域名函数
Mar 23 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
php curl常用的5个经典例子
Jan 20 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 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
实用函数8
2007/11/08 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
vue-router传参用法详解
2019/01/19 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python根据出生年份简单计算生肖的方法
2015/03/27 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
python实现单向链表详解
2018/02/08 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
Django框架实现的分页demo示例
2019/05/25 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
python向图片里添加文字
2019/11/26 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
猫咪家具:CatsPlay
2018/11/03 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
工商技校毕业生自荐信
2013/11/15 职场文书
婚庆司仪主持词
2014/03/15 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书