基于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 相关文章推荐
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
php实现的http请求封装示例
Nov 08 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
详解如何在云服务器上部署Laravel
Jun 30 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
TP5框架页面跳转样式操作示例
Apr 05 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
ThinkPHP之R方法实例详解
2014/06/20 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
ThinkPHP中order()使用方法详解
2016/04/19 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
js arguments对象应用介绍
2012/11/28 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
浅谈Python NLP入门教程
2017/12/25 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
印度网上药店:1mg
2017/10/13 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
钳工实习自我鉴定
2013/09/19 职场文书
学子宴答谢词
2014/01/25 职场文书
中学家长会邀请函
2014/02/03 职场文书
大学生就业意向书范文
2014/04/01 职场文书
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android