404 not found什么意思,日志里该核对哪些字段

📍 WDQWDWQD987AAAAA:216.73.217.111
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /3eaaf1a8b3fd.html
📄

404 not found什么意思,日志里该核对哪些字段

404 Not Found 的意思是:服务器收到了请求,但找不到与这个 URL 对应的资源,于是返回 404 状态码。排查时,日志里最该先核对的是请求 URL、状态码、时间、来源 IP、User-Agent、Referer、响应大小这几类字段,再结合服务器错误日志确认请求是否真的到达了应用。

从一个假设例子看排查顺序

假设你运营一个内容站,某天发现一篇旧文章的流量下降,服务器访问日志里出现大量 404。不要先改链接,先按下面顺序读日志:

  1. 找到状态码为 404 的日志行,确认请求的是哪个完整 URL,包括路径、查询参数和末尾斜杠。
  2. 看同一时间段的请求量,判断是单个用户误点,还是大量来源集中请求同一个失效地址。
  3. 看 Referer,判断请求是从站内旧链接、外部站点还是直接输入进入。
  4. 看 User-Agent,区分真实浏览器、爬虫或监控工具;不同来源的处理方式不同。
  5. 看响应大小,如果 404 页面返回了正常页面大小,说明是自定义 404 页面,不代表资源存在。

这个例子是假设场景,目的是说明字段之间的对应关系,而不是断言某类站点一定会出现相同结果。

访问日志中优先核对的字段

服务器错误日志里再核对什么

访问日志只记录结果,错误日志能补充原因。可以核对:请求是否被重写规则改写、应用路由是否匹配失败、文件是否真的不存在、权限是否导致读取失败、后端服务是否超时或返回异常。需要区分“可能原因”和“已经定位的原因”:日志里出现 404 只能说明服务器返回了未找到,不能直接断定是文件被删、链接写错还是路由配置问题,必须结合 URL 和错误日志逐项排除。

常见误判与检查项

如果日志里同一 URL 反复出现 404,下一步可以导出这些 URL 列表,逐条对照当前站点结构、重定向规则和服务器错误日志,先确认哪些是真实失效地址,再决定修复链接、设置跳转还是保留 404。

图1 图2

nginx