动态页面要确认可见内容,核心是区分“服务器返回了内容”和“用户或爬虫实际能看到内容”。对404页面来说,动态渲染常把状态码、可见正文和前端路由混在一起:HTTP状态可能是404,页面却由JavaScript补出一段提示;也可能状态是200,但正文只有空壳。多人协作时,交付前应把状态码、渲染后正文和可索引性分别检查,而不是只看浏览器截图。
动态页面的内容可能只存在于三种视图之一。确认时不要混用:
判断方法:先看响应状态码,再看原始HTML是否含关键提示,最后用浏览器的“查看网页源代码”和开发者工具Elements面板对比。如果Elements里有、源代码里没有,说明内容依赖脚本注入,交付时要注明这一条件。
404页面是否“可见”,不能只凭状态码下结论。常见组合如下:
检查时可用命令行工具查看响应头,例如:
curl -I https://example.com/missing-page
把返回的第一行状态码记下来,再与浏览器中看到的正文对照。若状态码是404,正文却由脚本延迟渲染,需在交付说明中写清“正文依赖JavaScript执行”。
单页应用或前端路由常把不存在的路径交给一个通用组件,这时要按以下顺序确认:
适用条件:这套步骤适合需要交付验收、多人修改同一套前端路由的项目。若页面是纯静态HTML,直接看源码即可,不必绕到渲染后DOM。
robots.txt限制抓取,不等于把页面从索引中移除;站点地图列出网址,也不保证被收录。对404页面来说,这两者都不能回答“用户是否看得到提示内容”。确认可见内容仍要回到响应状态码和渲染结果本身。若页面涉及HTTPS,也只能说明传输层加密,不能据此推断页面内容一定完整或安全。
协作交付时,建议把检查结果写成一行结论:某路径返回404,原始HTML含提示文字,渲染后正文一致,无需脚本即可看到。这样后续修改的人能直接判断是否返工,而不是重新猜测。
下一步:挑一个当前项目里由前端路由兜底的404路径,按上面的五项步骤跑一遍,把状态码和两种视图下的正文差异记录下来,再决定是调整服务端返回还是补静态提示。