打开浏览器,网站地址栏敲下“404notfound.com”,进入回车。网站屏幕跳出一行白字加一个黑色背景:“404 Not Found”。进入这不是网站网站挂了,这是进入它本来的样子。
很多人第一次撞见这个域名,网站是进入在某个技术论坛的签名档里,或者某篇讲HTTP状态码的网站文章末尾。点进去,进入以为会看到什么隐藏页面,网站结果就是进入一行冷冰冰的报错信息。有人觉得被耍了,网站有人却笑了——这本身就是进入一个梗,一个只有天天跟服务器打交道的网站人才懂的冷笑话。
这个域名确实存在。它注册于2000年代初,具体年份我记不太清,但Whois记录里能查到。它不提供任何内容,不挂广告,不放跳转链接。你访问它,它就返回一个标准的404响应头。服务器是真实的,IP地址指向美国某个机房,但页面就是空的。说白了,它把自己做成了一个“错误示范”的活标本。
三种人。第一种是好奇的技术新手,听老鸟提了一嘴“有个网站就叫404”,想看看长啥样。第二种是搞渗透测试或者爬虫的,拿它当靶子测工具——比如看看自己的脚本能不能正确识别404状态码。第三种最无聊也最有趣:纯粹为了截图发推特,配文“我找到了互联网的尽头”。
我属于第一种。2016年那会儿刚学HTTP协议,老师讲到状态码,说“404就是找不到,你们可以访问404notfound.com感受一下”。我当场就试了。浏览器转了两圈,出来一个极简页面,白底黑字,居中一行“404 Not Found”,下面小字写着“nginx”。那一刻我居然有点失望,又有点佩服——这网站连个自定义错误页都懒得做,直接用了服务器默认的。
能,也不能。能,是因为DNS解析正常,TCP连接能建立,HTTP请求能收到响应。不能,是因为你永远看不到“内容”。它故意不给你任何东西。这就像你敲一扇门,门开了,里面是堵墙,墙上写着“此门不通”。
有人试过用curl命令访问,返回的响应体长度是0。对,连HTML标签都没有。浏览器看到的那个页面,其实是浏览器自己渲染的默认404界面。换句话说,这个网站连“页面”都不算,它就是一个HTTP响应。
我后来做过一个实验:把它的IP地址直接填进hosts文件,用不同User-Agent去请求。结果一样。Firefox、Chrome、甚至wget,全都吃闭门羹。唯一不同的是,有些老版本浏览器会弹出一个“是否要下载文件”的对话框,因为响应头里没写Content-Type。这算是个彩蛋吧。
有人问能不能拿它做短链接跳板?不行,它不返回301或302。能不能挂个反代藏点东西?技术上可以,但域名所有者显然没这打算。这个域名二十多年没变过,连SSL证书都没配——你只能用http访问,https会直接报错。这反而成了它的性格:我就这样,爱看看,不看滚。
我查过它的历史快照。Wayback Machine上最早记录是2003年,页面和现在一模一样。二十年了,互联网从门户时代走到短视频时代,这个网站愣是没改过一个字节。这种固执,在技术圈里反而成了一种浪漫。
别用手机浏览器,有些移动端会自动跳转到搜索页。用桌面版Chrome或Firefox,地址栏手动输入,别加www,别加https。如果显示“无法访问此网站”,检查你的DNS——有些公共DNS会拦截这种无内容的域名。换成8.8.8.8或者1.1.1.1再试。
进去了也别失望。它就是一个状态码的实体化。你可以把它理解成互联网上的一个路标,上面写着“此路不通”,但路标本身立在那儿,就是它的意义。下次再看到404,你至少能想起来:有个网站,专门为了这个错误而存在。
最后说个真事。去年我带实习生,让他访问这个域名。他折腾了十分钟,回头问我:“是不是被墙了?”我说不是,它本来就这样。他愣了半天,憋出一句:“那这网站图啥?”我回他:“图个乐。技术人的乐子,你不懂。”
```