← 术语图鉴

术语 · 网页与浏览器

HTTP 状态码

HTTP Status Code · 也叫 状态码 / 200 / 404 / 500

服务器回应每个请求时附带的三位数字,告诉对方这次是成功、找不到,还是出错了。

你可能会说:

  • “网页打不开时说的 404、500 到底是什么意思?”
  • “页面上明明写着"找不到",为什么监控说一切正常?”

它是什么

每个网页请求都会得到一个状态码:2 开头表示成功,3 开头表示跳转到别处,4 开头表示请求有问题(最常见的 404 就是"没有这个页面"),5 开头表示服务器自己出了错。

人看的是页面内容,程序看的是状态码。搜索引擎靠它判断页面是否存在,监控靠它判断服务是否健康,浏览器靠它决定要不要缓存、要不要跳转。

所以"页面上写着找不到"和"状态码是 404"是两回事:前者给人看,后者给程序看,两者都要对。

打个比方

像快递单上的签收状态:已签收(200)、查无此人(404)、仓库着火(500)。页面内容是包裹,状态码是那张单子。

在这个网站里

在终端运行 curl -I https://space.felixwithai.com/nope,第一行会显示 404;换成任意一篇文章的地址,就是 200。

容易搞混的地方

常见误解

页面能打开,状态码就一定是 200

正确理解

服务器完全可以返回一张写着"出错了"的页面,同时给出 200——这就是软 404。

你可以这样告诉 AI

复制下面这段,贴给你的 AI

列出这个网站每类请求应该返回的状态码:页面存在、页面不存在、需要登录、服务器出错;并告诉我怎样用 curl 逐一验证。

接着看

  • 软 404——页面其实不存在,服务器却返回 200,让程序误以为这是一张正常页面。

相关的真实事故