少用但始终都会碰到 - header定义响应状态码

  • 作者:KK

  • 发表日期:2016.12.4


PHP脚本可以定义响应回去的状态码,比如这样:

header('HTTP/1.1 500 Internal Server Error');
//header('HTTP/1.1 505 Internal Server Error');  //自定义的状态码
echo '抱歉,站点故障,请联系管理员';

浏览器显示的请求也是红色的。


自定义消息

状态码后面的英文也不是固定为“Internal Server Error”,而是可以自己定义的,比如header('HTTP/1.1 500 my message');

但前面的HTTP/1.1HTTP/1.0不能随便改,要看客户端接受的是什么协议,比如现在你发TCP/1.0那会出错的。


自定义状态码的范围

基本上100、200、300那些都在 HTTP 协议中被定义了,我们程序上要输出错误一般是因为项目程序出问题了,这种服务器程序出问题应该归纳为5XX错误码范围,所以我一般自定义的错误码范围就在500~599之间,也足够用了。

其中我测试到的最大值是999,如果上了1000的话会转换成500。