时间:2021-07-01 10:21:17 帮助过:2人阅读
按照 HTTP 标准,一个 HTTP 消息一般分为两个部分:HTTP 头部(header)和 HTTP 正文(body);而且头部消息必须在正文消息之前输出。在 PHP 文件中,用 header 函数可以输出头部信息,而用 echo 命令可以输出正文消息;如果不使用 header 函数,在输出正文之前将输出默认的头部信息。因此,对于下面这个例子:
由于在 PHP 文件的最前面还有空行,PHP 将会把它作为正文输出,从而后面执行 header 函数时将会警告头部信息已经输出过。另外,有的文件使用 Unicode 编码,如果不去掉文件开始的 BOM 字符,也会导致这个问题。对于 PHP 文件最后面的空行,不会有什么问题,因为 PHP 会自动删除 ?> 后面的一个换行符。
顺便看看一些常见的 HTTP 代码,列表如下:
200 OK 201 Created 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 415 Unsupported Media Type 500 Internal Server Error参考资料:
[1] PHP 手册:第一个 PHP 页面
[2] PHP 手册:header
[3] PHP 手册:echo
[4] Hypertext Transfer Protocol -- HTTP/1.1
[5] HTTP Header 详解
[6] Modify HTTP Headers (Examples)
[7] php闭合标签输出多余空行使xml页面显示错误
[8] HTTP状态码 - 维基百科