基于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 相关文章推荐
优化使用mysql存储session的php代码
Jan 10 PHP
PHP下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
PHP使用DES进行加密与解密的方法详解
Jun 06 PHP
用 Composer构建自己的 PHP 框架之基础准备
Oct 30 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
PHP new static 和 new self详解
Feb 19 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
Ajax+PHP实现的分类列表框功能示例
Feb 11 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 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
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
php依赖注入知识点详解
2019/09/23 PHP
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
jQuery实现列表的增加和删除功能
2018/06/14 jQuery
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
python字符串string的内置方法实例详解
2018/05/14 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
HTML5重塑Web世界它将如何改变互联网
2012/12/17 HTML / CSS
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
关于递归的一道.NET面试题
2013/05/12 面试题
销售提升方案
2014/06/07 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
商铺租房协议书范本
2014/12/04 职场文书
初中教师个人总结
2015/02/10 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
导游词之五台山
2019/10/11 职场文书
redis限流的实际应用
2021/04/24 Redis
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis