# 分享php开发中常用的header头

- Link: https://www.xuepaijie.com/html/skill/devops/618.html
- Published: 2016-05-24T16:06:32+08:00
- Author: Admin

俗话说工欲善其事，必先利其器。在常见的PHP开发中，我们经常会使用HEADER输出一些头内容
来帮助浏览器快速地识别我们的行为，如404、301等，同时在下载等浏览器行为时，一个好的
HEADER头能解决很多问题。

这里分享一些互联网上常用的HEADER头供开发时参考：

    ```html;
    <?php
    header('HTTP/1.1 200 OK'); // ok 正常访问
    header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在
    header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301
    header('Location: //xxx/'); //跳转到一个新的地址
    header('Refresh: 10; url=//xxx/'); //延迟转向 也就是隔几秒跳转
    header('X-Powered-By: PHP'); //修改 X-Powered-By信息
    header('Content-language: zh-cn'); //文档语言
    header('Content-Length: 1234'); //设置内容长度
    header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器最后一次修改时间
    header('HTTP/1.1 304 Not Modified'); //告诉浏览器文档内容没有发生改变

    //内容类型
    header('Content-Type: text/html; charset=utf-8'); //网页编码
    header('Content-Type: text/plain'); //纯文本格式
    header('Content-Type: image/jpeg'); //JPG、JPEG
    header('Content-Type: application/zip'); // ZIP文件
    header('Content-Type: application/pdf'); // PDF文件
    header('Content-Type: audio/mpeg'); // 音频文件
    header('Content-type: text/css'); //css文件
    header('Content-type: text/javascript'); //js文件
    header('Content-type: application/json'); //json
    header('Content-type: application/pdf'); //pdf
    header('Content-type: text/xml'); //xml
    header('Content-Type: application/x-shockwave-flash'); //Flash动画

    //声明一个下载的文件
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="test.zip"');
    header('Content-Transfer-Encoding: binary');
    readfile('test.zip');

    //禁用当前文档缓存
    header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

    //HTTP基础验证对话框
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Basic realm="Http Base  Auth Test"');

    //下载xls文件
    header('Content-Disposition: attachment; filename=test.xlsx');
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Length: '.filesize('./test.xls'));
    header('Content-Transfer-Encoding: binary');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    readfile('./test.xls');

    ?>
    ```
