你可能会说:
- “网页打不开时说的 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,让程序误以为这是一张正常页面。
相关的真实事故