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

时间:2021-03-01 13:04:37


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: http://www.jb51.net');

// 设置网页3秒后重定向

header('Refresh: 3; url=http://www.jb51.net');

echo '网页将在3秒后跳转到http://www.jb51.net';

// 设置网页编码

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');

详细出处参考:http://www.jb51.net/article/38024.htm