HTTP 协议中每一个 Response 都有一个 Status Code,协议中预定义了若干状态码例如:
200 OK
301 Moved Permanently
404 Not Found
返回码由服务器控制,有些特殊场景下服务器会定义一些特殊返回码来表示返回状态。例如CDN服务商可能会返回自定义的5xx状态码作为回源失败的错误码。
除了状态码,状态码后面的描述其实也是包含在了 HTTP 协议里面,能够自定义返回,例如这是一个腾讯云的彩蛋页面:


抓包可以看到服务器返回了
HTTP/1.1 419 For One Night
这个419 For One Night当然是这帮工程师想出来的无聊的彩蛋页面的状态码了。
那么如何实现返回自定义状态码描述呢,在PHP里面可以通过header函数实现:
header(‘HTTP/1.1 419 For One Night’);
当然也不是服务端返回什么客户端就用什么,大部分客户端会优先使用预定义描述,也就是在HTTP标准里定义过的状态码描述客户端都会直接用,服务端返回一个非法描述客户端是不会认可的。
那么自定义状态码描述又有什么用呢,当然并没有什么卵用。