文章标签 » 返回码

HTTP 协议中自定义返回码描述字段

HTTP 协议中每一个 Response 都有一个 Status Code,协议中预定义了若干状态码例如:

200 OK

301 Moved Permanently

404 Not Found

返回码由服务器控制,有些特殊场景下服务器会定义一些特殊返回码来表示返回状态。例如CDN服务商可能会返回自定义的5xx状态码作为回源失败的错误码。

除了状态码,状态码后面的描述其实也是包含在了 HTTP 协议里面,能够自定义返回,例如这是一个腾讯云的彩蛋页面:

HTTP 返回419状态码

HTTP 返回419状态码

http://cloud.tencent.com/419

 

HTTP 返回419状态码

HTTP 返回419状态码

抓包可以看到服务器返回了

HTTP/1.1 419 For One Night

这个419 For One Night当然是这帮工程师想出来的无聊的彩蛋页面的状态码了。

那么如何实现返回自定义状态码描述呢,在PHP里面可以通过header函数实现:

header(‘HTTP/1.1 419 For One Night’);

当然也不是服务端返回什么客户端就用什么,大部分客户端会优先使用预定义描述,也就是在HTTP标准里定义过的状态码描述客户端都会直接用,服务端返回一个非法描述客户端是不会认可的。

那么自定义状态码描述又有什么用呢,当然并没有什么卵用。