基于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 多线程上下文中安全写文件实现代码
Dec 28 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
php发送post请求函数分享
Mar 06 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
async和DOM Script文件加载比较
Jul 20 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
Sep 23 PHP
浅谈php和.net的区别
Sep 28 PHP
php之curl实现http与https请求的方法
Oct 21 PHP
php简单实现查询数据库返回json数据
Apr 16 PHP
php实现json编码的方法
Jul 30 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 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
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
php入门小知识
2008/03/24 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
Python之py2exe打包工具详解
2017/06/14 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
解决Python使用列表副本的问题
2019/12/19 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
Python爬虫开发与项目实战
2020/12/16 Python
html如何对span设置宽度
2019/10/30 HTML / CSS
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
TCP/IP的分层模型
2013/10/27 面试题
关于圣诞节的广播稿
2014/01/26 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
培训简讯范文
2015/07/20 职场文书
驻村工作简报
2015/07/20 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
JAVA springCloud项目搭建流程
2022/05/11 Java/Android