php中如何使用header发送头部信息
PHP中如何使用header发送头部信息
header("Status: 404 Not Found");
?>
就可以让用户浏览器出现文件找不到的404错误,但是我试了这样是不行的。
后来我到w3.org上查了http的相关资料,终于试出来了如何Header出状态代码(Status),与大家分享。
其实应该是这样的:
Header("http/1.1 403 Forbidden");
?>
第一部分为HTTP协议的版本(HTTP-Version)
第二部分为状态代码(Status)
第三部分为原因短语(Reason-Phrase)
三部分中间用一个空格分开,且中间不能有回车,第一部分和第二部分是必需的,第三部分则是给人看的,可写可不写甚至乱写。
还有,这一句的输出必须在Html文件的第一行。
下面我给出各代码所代表的意思(是从w3.org上查到的,够权威了):
* 1xx: Informational - Request received, continuing process
* 2xx: Success - The action was successfully received, understood,
and accepted
* 3xx: Redirection - Further action must be taken in order to
complete the request
* 4xx: Client Error - The request contains bad syntax or cannot be
fulfilled
* 5xx: Server Error - The server failed to fulfill an apparently
valid request
│ "100" ; Continue
│ "101" ; Switching Protocols
│ "200" ; OK
│ "201" ; Created
│ "202" ; Accepted
│ "203" ; Non-Authoritative Information
│ "204" ; No Content
│ "205" ; Reset Content
│ "206" ; Partial Content
│ "300" ; Multiple Choices
│ "301" ; Moved Permanently
│ "302" ; Moved Temporarily
│ "303" ; See Other
│ "304" ; Not Modified
│ "305" ; Use Proxy
│ "400" ; Bad Request
│ "401" ; Unauthorized
│ "402" ; Payment Required
│ "403" ; Forbidden
│ "404" ; Not Found
│ "405" ; Method Not Allowed
│ "406" ; Not Acceptable
│ "407" ; Proxy Authentication Required
│ "408" ; Request Time-out
│ "409" ; Conflict
│ "410" ; Gone
│ "411" ; Length Required
│ "412" ; Precondition Failed
│ "413" ; Request Entity Too Large
│ "414" ; Request-URI Too Large
│ "415" ; Unsupported Media Type
│ "500" ; Internal Server Error
│ "501" ; Not Implemented
│ "502" ; Bad Gateway
│ "503" ; Service Unavailable
│ "504" ; Gateway Time-out
│ "505" ; HTTP Version not supported