使用方法
- 在 “状态码或关键词” 中输入 404 这样的状态码、4xx 这样的类别,或 not found 这样的名称中的词。
- 阅读 “结果”、“含义” 和 “默认可缓存”。匹配多个状态码时,“匹配的状态码” 表会列出它们。
- 打开 “全部已登记的状态码”,查看 IANA 登记表中的每一个状态码及其定义它的 RFC。
五个类别
状态码的第一位数字给出类别,其余两位数字说明它在该类别中属于哪种情况。RFC 9110 第15节定义了登记表中的大多数状态码,每个类别对客户端都有固定的含义。
- 1xx 信息性:请求仍在处理中,服务器还会发送更多的应答。
- 2xx 成功:请求已被接收、理解并接受。
- 3xx 重定向:客户端必须再采取一步,通常是访问另一个地址。
- 4xx 客户端错误:请求有误,或按原样无法满足。
- 5xx 服务器错误:服务器未能处理一个有效的请求。
何时默认可缓存
RFC 9110 第15.1节列出了缓存默认可以复用、并带有启发式过期的状态码:200、203、204、206、300、301、308、404、405、410、414和501。其他状态码都不是启发式可缓存的。若响应带有明确的缓存控制,则以这些控制为准,因此该列说明的是没有这些控制时缓存的行为,而不是每个服务器的做法。
列表的来源
该表取自2026年11月10日的 IANA HTTP 状态码登记表,共64个已登记的状态码。登记表标为未分配的范围已略去。有两项需要注意:104是与一份 Internet-Draft 相关联的临时登记,登记表将510标为已废弃。两者都会在结果中显示说明。
示例:404与 not found
输入404会找到一个状态码:404 Not Found。输入 not found 会找到同一个状态码,因为这两个词都出现在它的名称中。两种搜索的结果相同,下表列出工具为404输出的内容。
该码属于第4类,即客户端错误。RFC 9110 第15.5.5节定义了它,它也是缓存默认会复用的十二个状态码之一。
| 输出 | 404的结果 |
|---|---|
| 结果 | 404 Not Found |
| 定义于 | RFC 9110,第15.5.5节 |
| 默认可缓存 | 是:缓存默认可以保存它(RFC 9110,第15.1节),除非响应设置了其他缓存规则。 |
常见问题
401与403有什么区别?
401 Unauthorized 表示请求没有有效的凭证,因此登录可能解决问题。403 Forbidden 表示服务器理解了请求但拒绝执行,因此再次发送相同的凭证不会改变结果。
410与404相同吗?
不完全相同。两者都表示服务器在该地址没有资源,但410 Gone 表示资源已被永久删除。RFC 9110 第15.5.5节指出,当服务器确知删除是永久性的时,应优先使用410而不是404。
可缓存的状态码是否意味着响应总会被缓存?
不是。缓存可以默认复用这些响应,但带有明确缓存控制(例如 Cache-Control: no-store)的响应会遵循那些控制。浏览器和代理也会自行决定是否保存。
为什么306被说明为未使用?
RFC 9110 第15.4.7节说明,该值由早期规范定义,现已不再使用并被保留。软件不应期望在响应中见到它,表格也将其标为未使用。
我可以自己发明一个状态码吗?
您可以发送登记表中没有列出的数字,但其他软件不会知道它的含义。RFC 9110 第15.1节说,新的状态码应当登记在 HTTP 状态码登记表中,第16.2节对此作了说明。
我的搜索会被发送到什么地方吗?
不会。搜索和表格都在您的浏览器中运行,您输入的任何内容都不会发送到我们的服务器,也不会保存在那里。
资料来源
- IANA:HTTP 状态码登记表(英文)
- RFC 9110:HTTP 语义,第15节(状态码)(英文)
- RFC 6585:其他 HTTP 状态码(英文)
- RFC 4918:网络分布式创作与版本控制的 HTTP 扩展,WebDAV(英文)
数据和文字最近核对于2026年11月10日星期二。