你可能在上网时也好奇过,为什么点开一个无法显示信息的页面,上面会出现数字404?
要解释这个问题,我们需要从互联网诞生之初说起。
20世纪80年代,英国工程师蒂姆·伯纳斯·李在欧洲核研究组织工作时,发现一个问题:在该组织打工的物理学家和全欧洲的同行,都很难共享最新的信息、数据和图像。
按照一般的思路,那么就应该建设一种高效的文件传递网络,第一天发货,第二天签收,于是就可以搞出顺风快递。
但是80年代,电子计算机已经发明40多年了,科学家们自然想到,我们根本不用传递实体,传递比特就好了嘛。
于是,我们的小李和罗伯特·卡里奥一起设计构建了万维网(www)。
有一个传说是,互联网发明人、人类史上第一个网管蒂姆·伯纳斯·李同志,他正好把服务器安置在欧洲核研究组织的404号房间,李同志本人又正好在这个房间办公。
不管是要访问服务器,还是找网管,你都要向404房间提交申请,如果找不到,那就是404 not found。
这个说法很有极客的荒诞幽默感,但可惜是假的。
跟李网管一起搞出互联网的罗伯特·卡里奥后来就表示,细说不是胡说,改编不是乱编。”404“就是程序员为了让用户在网络连接错误时,可以知道自己错在哪而设置的。
什么404房间?不存在的。
下面我们大概解释一下404本来的意思。
有了万维网,理论上你可以访问网上的每一个服务器,就像你进入一座城市,理论上可以敲任何一扇门。
但是……你怎么知道房子里有没有你想要找的人呢?也许你迷路了敲的是隔壁老王,或者要找的人已经搬走了。总不能……一直在门口傻等吧?
所以,互联网的建设者们拟定了一套状态码,用来指示使用者访问的状态。
比如数字代码第一位是“1”,就代表收到请求,请继续进行。而数字代码第一位是4,则代表请求包含错误语法,不能完成。我们所熟知的404,在这套体系中意味着信息不存在,找不到目标资源。
它可能是从来就不存在,也可能是因为种种原因被删除了。总之,not found。
按照这个思路,只要你愿意,也能找到403,414的含义。
值得一提的是,如果你想看一些不存在的网站,可能得到的并不是404,而更多是500,服务器内部错误,或者504,请求超时。
这一套编码的官方注册表,目前由互联网号码分配局(简称IANA)维护。在他们改变主意之前,404,会一直代表not found。
虽然404本身并不神秘,可它代表的互联网失落之地,衍生了一大堆404文化。
很多网站会对404页面进行美化设计,让它看上去不那么冷酷无情。比如在希拉里·克林顿的竞选网站上,设计者就把404页面设计成希拉里刷不了地铁卡的照片。
谷歌浏览器如果连不上网,就会出现一个小恐龙的跑酷游戏。据说任性的程序员是想表达,如果没网,等于生活在恐龙时代。
而互联网上最著名的404,是推特的404页面,一头被吊上天的鲸鱼。这个只是听说的,我们不保证它的真实性。
由于404已经成了互联网群众最喜闻乐见的梗,一群艺术家甚至搞起了以404命名的国际艺术节,宣称”错误会变成新的可能性“。
屁咧,没有网,这个艺术节都不会有人知道,有个毛线可能性。