PHP中header分为三部分:
第一部分:HTTP协议的版本(HTTP-Version);
第二部分:状态代码(Status);
第三部分:原因短语(Reason-Phrase)。
示例代码:
用header指令返回页面HTTP信息
1、请求页面正常返回
header(‘HTTP/1.1 200 OK‘);
2、页面没找到
header(‘HTTP/1.1 404 Not Found‘);
3、301永久转向
header(‘HTTP/1.1 301 Moved Permanently‘);
4、访问受限
header(‘HTTP/1.1 403 Forbidden‘);
5、服务器错误
header(‘HTTP/1.1 500 Internal Server Error‘);
6、重定向到一个新的地址
header(‘Location: http://www.abcd9.com/‘);
延迟一段时间后重定向
header(‘Refresh: 10; url=http://www.abcd9.com/‘); //延迟10秒
覆盖 X-Powered-By value
header(‘X-Powered-By: PHP/4.4.0‘);
header(‘X-Powered-By: Brain/0.6b‘);
内容语言 (en = English)
header(‘Content-language: en‘);
最后修改时间(在缓存的时候可以用到)
$time = time() – 60; // or filemtime($fn), etc
header(‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s‘, $time).‘ GMT‘);
告诉浏览器要获取的内容还没有更新
header(‘HTTP/1.1 304 Not Modified‘);
设置内容的长度 (缓存的时候可以用到)
header(‘Content-Length: 1234‘);
用来标识下载文件
header(‘Content-Type: application/octet-stream‘);
header(‘Content-Disposition: attachment; filename="abcd9.zip"‘);
header(‘Content-Transfer-Encoding: binary‘);
禁止缓存当前文档
header(‘Cache-Control: no-cache, no-store, max-age=0, must-revalidate‘);
header(‘Expires: Mon, 26 Jul 1997 05:00:00 GMT‘);
设置内容类型
header(‘Content-Type: text/html; charset=utf-8‘); //编码为utf-8
header(‘Content-Type: text/plain‘); //纯文本文件
header(‘Content-Type: image/jpeg‘); //JPG图片
header(‘Content-Type: application/zip‘); //ZIP压缩包文件
header(‘Content-Type: application/pdf‘); //PDF电子书文件
header(‘Content-Type: audio/mpeg‘); //MPEG (MP3,…)音频文件
header(‘Content-Type: application/x-shockwave-flash‘); //flash文件
显示登录对话框,可以用来进行HTTP认证
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‘;