
让状态码更有“意义”
402、418、451-让状态码更有“意义”
HTTP 状态码不仅是技术协议的一部分,也逐渐成为反映网络现实、社会问题和文化隐喻的符号。
HTTP里有个很少用到的状态码,402, 即 Payment Required。这是一个保留状态码,常用于未来支付系统或内部系统标识“欠费”。由于没有统一的实现方式,不同服务可能自定义处理,目前在标准 HTTP/1.1 和 HTTP/2 中极少使用。
还有一个 418 I’m a teapot的状态码,少数几个官方定义的“幽默”HTTP 状态码之一,可用它表达“这个功能本不该存在,就像茶壶煮咖啡一样荒谬”,是一种温和的抗议。很多服务器如Jetty支持这个状态码。
最后一个状态码就是所谓的1984状态码了, 也就是 451 Unavailable For Legal Reasons,源于对《华氏451》的致敬。表示服务器无法提供该资源,是因为受到法律、政府审查、法院命令或其他法律相关要求的限制。
在这个付费无处不在、审查日益普遍、系统愈发冷漠的时代,让状态码更有“意义”更有意义。
比如很多网站被屏蔽时返回 404,制造“从未存在”的假象,我们需要用 451 告诉用户:“这里曾有内容,但现在因法律原因被移除”。
