上周三凌晨两点,网站我蹲在路由器旁边刷一个老论坛的免费帖子,点进某个失效链接时,进入浏览器弹出了那个熟悉的网站白色页面——“404 Not Found”。但底下多了一行小字:“您可以尝试通过网页快照访问”。免费我顺手点进去,进入居然真读到了2009年某位网友分享的网站《星际争霸》战术帖。这让我意识到,免费404页面早就不是进入死胡同了,它有时候更像一扇虚掩的网站门。
很多人看到404就习惯性关标签页。免费其实服务器返回404,进入只代表请求的网站那个URL在当前路径下找不到资源,不代表整个网站瘫痪。免费比如你输入 example.com/old-page 返回404,进入但 example.com 本身可能活得好好的。真正值得琢磨的是:有些网站故意把404页面做成导航入口,或者用JavaScript把用户重定向到搜索页。我见过一个独立博客,404页面直接列出最近更新的十篇文章,末尾还加一句“既然来了,不如看点别的”。这比冷冰冰的“页面不存在”高明得多。
免费进入的窍门藏在几个地方。第一,检查URL拼写。我曾在某政府公开数据站把 /statistics 错打成 /statistic,返回404后试着删掉末尾字母,居然跳转到了正确页面。第二,利用网站地图。大部分网站根目录下有 sitemap.xml,直接访问就能看到所有有效链接。第三,翻查网页存档。Internet Archive的Wayback Machine存了超过7000亿个网页快照,把404的URL粘进去,大概率能找到历史版本。我去年找一篇2015年的科技评测,原站改版后链接全挂,靠快照完整读到了原文。
还有个野路子:把404页面当成探测工具。某些CMS系统在404时会暴露服务器路径或数据库版本。有次我访问一个摄影网站的错误页面,底部居然打印出 Powered by WordPress 5.2,而当时最新版已经是6.0。这信息对普通用户没用,但说明404页面有时会泄露后台配置。当然,别拿这个去干坏事。
网站运营者其实可以玩得更聪明。GitHub的404页面放了一只哭泣的猫,旁边有搜索框和返回首页的按钮。Cloudflare的404则直接显示“你请求的页面被防火墙拦截了”,附带工单链接。我印象最深的是一个日本独立游戏站,404页面做成像素风迷宫,走到底能捡到一枚虚拟硬币,集齐十枚可以换壁纸。结果那网站404页面的访问量比首页还高。
普通用户遇到404,第一反应不该是关掉。先看地址栏有没有多余字符,再试试把路径逐级删减——比如 /a/b/c 报错,就试 /a/b 和 /a。如果都不行,复制完整URL去搜索引擎加引号搜。我试过搜一个失效的产品说明书链接,结果在某个俄罗斯论坛的附件里找到了PDF。互联网的冗余度远超想象,一个链接死了,往往有十几个镜像活着。
最后说个反常识的:有些404是故意设计的。比如某些付费墙网站,未登录用户访问文章会返回404而不是403,目的是让爬虫和普通用户都以为页面不存在。这时候你清空cookie再访问,或者把 https 改成 http,有时就能免费进入。我靠这招读过几篇《经济学人》的旧文。当然,这属于灰色操作,不鼓励大规模使用。但技术层面的事实是:404状态码本身不加密、不验证,它只是一个HTTP响应。理解这一点,你就知道为什么“免费进入”在逻辑上完全成立。