基于header的一些常用指令详解


Posted in PHP onJune 06, 2013

header常用指令
header分为三部分:
第一部分为HTTP协议的版本(HTTP-Version);
第二部分为状态代码(Status);
第三部分为原因短语(Reason-Phrase)。

// fix 404 pages:   用这个header指令来解决URL重写产生的404 header
header('HTTP/1.1 200 OK');  

// set 404 header:   页面没找到
header('HTTP/1.1 404 Not Found');  

//页面被永久删除,可以告诉搜索引擎更新它们的urls
// set Moved Permanently header (good for redrictions)  
// use with location header  
header('HTTP/1.1 301 Moved Permanently'); 

// 访问受限
header('HTTP/1.1 403 Forbidden');

// 服务器错误
header('HTTP/1.1 500 Internal Server Error');

// 重定向到一个新的位置
// redirect to a new location:  
header('Location: http://www.example.org/');  

延迟一段时间后重定向
// redrict with delay:  
header('Refresh: 10; url=http://www.example.org/');  
print 'You will be redirected in 10 seconds';  

// 覆盖 X-Powered-By value
// override X-Powered-By: PHP:  
header('X-Powered-By: PHP/4.4.0');  
header('X-Powered-By: Brain/0.6b');  

// 内容语言 (en = English)
// content language (en = English)  
header('Content-language: en');  

//最后修改时间(在缓存的时候可以用到)
// last modified (good for caching)  
$time = time() - 60; // or filemtime($fn), etc  
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');  

// 告诉浏览器要获取的内容还没有更新
// header for telling the browser that the content  
// did not get changed  
header('HTTP/1.1 304 Not Modified');  

// 设置内容的长度 (缓存的时候可以用到):
// set content length (good for caching):  
header('Content-Length: 1234');  

// 用来下载文件:
// Headers for an download:  
header('Content-Type: application/octet-stream');  
header('Content-Disposition: attachment; filename="example.zip"');  
header('Content-Transfer-Encoding: binary');  

// 禁止缓存当前文档:
// load the file to send:readfile('example.zip');  
// Disable caching of the current document:  
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');  
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');  

// 设置内容类型:
// Date in the pastheader('Pragma: no-cache');  
// set content type:  
header('Content-Type: text/html; charset=iso-8859-1');  
header('Content-Type: text/html; charset=utf-8');  
header('Content-Type: text/plain');  

// plain text file  
header('Content-Type: image/jpeg');  

// JPG picture  
header('Content-Type: application/zip');  

// ZIP file  
header('Content-Type: application/pdf');  

// PDF file  
header('Content-Type: audio/mpeg');  

// Audio MPEG (MP3,...) file  
header('Content-Type: application/x-shockwave-flash');  

// 显示登录对话框,可以用来进行HTTP认证
// Flash animation// show sign in box  
header('HTTP/1.1 401 Unauthorized');  
header('WWW-Authenticate: Basic realm="Top Secret"');  
print 'Text that will be displayed if the user hits cancel or ';  

print 'enters wrong login data';?>

// 发送一个200 正常响应
header("HTTP/1.1 200 OK");

// 发送一个404 找不到资源响应
header('HTTP/1.1 404 Not Found');

// 发送一个301 永久重定向
header('HTTP/1.1 301 Moved Permanently');

// 发送一个503 网站暂时不能访问
header('HTTP/1.1 503 Service Temporarily Unavailable');

// 网页重定向
header('Location: https://3water.com');

// 设置网页3秒后重定向
header('Refresh: 3; url=https://3water.com');
echo '网页将在3秒后跳转到https://3water.com';

// 设置网页编码
header('Content-Type: text/html; charset=utf-8');

// 设置网页输出一个图片流
header('Content-Type: image/jpeg');

// 设置网页输出一个pdf文档
header('Content-Type: application/pdf');

// 设置网页输出一个zip文档
header('Content-Type: application/zip');

PHP 相关文章推荐
解决ajax+php中文乱码的方法详解
Jun 09 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
php使用反射插入对象示例分享
Mar 11 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
Mar 03 PHP
php封装的smarty类完整实例
Oct 19 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
深入php 正则表达式的学习探讨
Jun 06 #PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
Jun 06 #PHP
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
Jun 06 #PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 #PHP
解析PHP多种序列化与反序列化的方法
Jun 06 #PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 #PHP
深入PHP获取随机数字和字母的方法详解
Jun 06 #PHP
You might like
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP引用符&的用法详细解析
2013/08/22 PHP
php curl请求信息和返回信息设置代码实例
2015/04/27 PHP
php生成无限栏目树
2017/03/16 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
js实现可拖动DIV的方法
2013/12/17 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
JS作用域深度解析
2016/12/29 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python入门教程之识别验证码
2017/03/04 Python
python将list转为matrix的方法
2018/12/12 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
MySQL面试题目集锦
2016/04/14 面试题
学校门卫工作职责
2013/12/07 职场文书
优秀员工表扬信
2014/01/17 职场文书
心理健康课教学反思
2014/02/13 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
普通党员整改措施
2014/10/24 职场文书
后勤工作个人总结
2015/02/28 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
计划生育目标责任书
2015/05/09 职场文书
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫
Java异常体系非正常停止和分类
2022/06/14 Java/Android
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis