404为什么是404?

开发者全社区

共 3215字,需浏览 7分钟

 · 2021-12-09

相关阅读:杭州程序员从互联网跳央企,晒一天工作和收入,网友:待一年就废

可怕的“404页面不存在”错误代码已经在电脑屏幕上阴魂不散了几十年。尽管许多网民根本不了解这一错误代码的来龙去脉,但过去30年里,由于出现的频次太高,“404页面不存在”已经跻身流行文化,成了线上终极都市传奇之一。


我们并没有刻意关注它,但由于多数网站每天都有新的失效链接,这些错误页面被点击了无数次。此外,点击2005年以前的网页后,我们会直接进入名叫“HTTP 404页面不存在”的“墓地”。在那些并非四季常青的“草场”上,404们的墓碑林立成行,其数量之多,今人可想而知。

如今,404已成为世界各地突显各种未知事物的、有影响力的符号。

你知道警察经常用404指代“未知的麻烦”吗?


“404页面不存在”背后的故事


我们都见过404页面,但它为什么会出现呢?404是一种HTTP状态码。当用户访问网页时,设备会基于超文本传输协议(Hypertext Transfer Protocol)向服务器请求数据。

之后,万维网的“齿轮”开始转动,我们会意识到互联网其实是基于数据交换的一种数据传输依赖于另一种数据传输在网页跳出前,服务器已经发送了包含状态码的HTTP头域,我们的浏览器也会以头域回应。如果数据交换成功了,就会有代表状态正常的代码:“200 OK”,即“请求数据成功”。

我们看不到这个状态码,因为在这种情况下,服务器只会发送请求页面的内容。只有遇到错误时,页面才会显示相应的状态码。搜索公众号互联网架构师复“2T”,送你一份惊喜礼包。

“404页面不存在”——当请求页面不存在或已被删除时,就会出现这种提示。这一情况很常见,可能发生在任何网站上。



打破关于404号房的流言


1981至1992年,万维网的发明者蒂姆·伯纳斯·李(Tim Berners-Lee)及联合开发者罗伯特·卡里奥(Robert Cailliau)在CERN工作期间,创建了一个基于超文本传输协议、用于浏览及传递信息的新系统。为响应不同的请求,他们必须手动分配文件,并通过网络加以传输。


© Kidschoolz


没过多久,他们便不堪重负,无法响应通过网络发送的所有请求。很多用户输入的数据不正确,因此无法发送正确的文件名。

这种情况一而再、再而三,二人不得不为此更新系统,以便向那些文件名编辑错误的用户发送以下信息:


“404号房:文件不存在”。


见过这个信息的人越来越多。1992年,万维网联盟(W3C)引入了1990年开发的HTTP状态码。搜索公众号互联网架构师复“2T”,送你一份惊喜礼包。


蒂姆和罗伯特在四楼办公。据称,万维网的中央数据库就在同一楼层的404号房。作为第一台网络服务器的所在地,即万维网的发源地,人们自然而然将404号房变成了都市传奇:


“诞生于CERN的第一个网站——也是全世界第一个网站,原本仅服务于万维网项目,且只存在于蒂姆的NeXT电脑上。2013年,CERN启动了恢复这一初始网站(即info.cern.ch)的项目。”


后来,罗伯特·卡里奥打破了“404页面因404号房而得名”的流言。CERN的四楼根本就没有404号房:


但很奇怪,四楼没有404号房。四楼的房间号实际上是从410编起的,且逐渐递增——我也不知道为什么会这样。抱歉让你们所有人失望了,但CERN真没有404房,它根本就不存在,更不可能是“万维网诞生的地方”。


罗伯特·卡里奥在某次采访中确认了这一点:


“404这个数字和CERN的房间号或任一实体地点压根没关系。那就是个流言。”


被问及如何看待人们痴迷于破解404含义的行为,罗伯特回答道:


“这种猜测毫无意义。创造流言的人可能不够理性,不愿意摆事实讲证据,相对于现实,更偏爱不实之词。这种人很常见。”


揭开404的谜


“404错误”已成为网络终极谜题和虚无主义悖论。然而,与其说有人精心设计,倒不如说它出于偶然,我可能已经找到了答案。


© Pinterest


当时我正在看一篇与航空史相关的文章,突然之间,我发现谜底就在那里,藏在显而易见的地方。

我想一定有人也揭开了谜底。于是我打开谷歌,希望搜到若干与我不谋而合的人。但我一无所获!都市传说狂热爱好者和力破谣言者都在错误的圈子里兜兜转转,试图破解404之谜。



可怕的404航班


罗伯特表示404号房纯属无稽之谈后,我认为我不能再有意识地理解这一代码的来源。虽然数据科学家的大脑像个超级驱动器,但日常生活和潜意识因素仍会发挥重要的作用;毕竟科学家也是人。

我相信在网络诞生之初,新闻中已满是404的踪迹。1989年,蒂姆·伯纳斯·李发明了万维网,而那年404航班恰好失踪了。

——巴基斯坦国际航空公司的404航班

1989年8月25日,PK404航班起飞没多久就消失了。这架福克F27友谊式客机于7点35分从巴基斯坦吉尔吉特起飞,将于巴基斯坦首都伊斯兰堡降落。


一架类似事故飞机的PIA F27。© wikipedia


几分钟后,飞行员于7点40分照例进行了无线电通话,随后飞机就从雷达上消失了——这是最后一次通信。专家认为该客机已在喜马拉雅山坠毁,但直至今日,人们也没找到飞机残骸;404航班找不到了。

你能想到蒂姆和罗伯特看过多少次相关的新闻吗?他们可能根本就没有刻意关注过“404航班无法找到”的消息。搜索公众号互联网架构师复“2T”,送你一份惊喜礼包。

——意大利航空公司404航班(AZ404/AZA404)

1990年11月14日坠毁的意大利航空公司404航班是一架国际客机,原计划从米兰利纳特机场飞往瑞士苏黎世机场。这架由意大利航空公司运营的道格拉斯DC-9–32型客机在苏黎世机场附近的魏阿赫林地坠毁,机上46人全部遇难。


涉事飞机,于1990年8月(事故前3个月)在巴黎夏尔·戴高乐机场拍摄。© wikipedia


写到这里,相信已有读者心中有数——魏阿赫和互联网诞生地CERN只相距150英里左右。新闻媒体很可能会将这场悲剧与PK404航班联系在一起。因此,我们可以假设404已存在于每个人的潜意识中。


综述


回顾互联网诞生的历史,我认为是一系列灾难性事件,即所谓的“祸不单行”,催生了404状态码。我很困惑为什么直到今天只有我把以下线索联系起来了:


1989年8月
PK404航班起飞没多久就失踪了。

1990年10月
蒂姆·伯纳斯·李为了开发客户端程序(即浏览器/编辑器,他将其称之为万维网),开始在新配备的NeXT电脑上编写代码。

1990年11月
意大利航空公司404航班于瑞士坠毁。

1990年12月
第一个网站nxoc01.cern.ch诞生了。


© Lifewire


蒂姆和罗伯特始终保持沉默,没有解释过为什么要用404当错误状态码。但正如上文所述,他们可能根本没意识到404就在他们的潜意识中。所以,这个代表“网页已死”的报错页面还将继续气坏网络用户,直到时间终结的那天。

文/Rui Alves

译/antusen

校对/Yord

原文/historyofyesterday.com/the-history-behind-the-404-error-missing-link-4f8824d63154

本文基于创作共享协议(BY-NC),由antusen在利维坦发布

文章仅为作者观点,未必代表利维坦立场


1、985副教授工资曝光

2、心态崩了!税前2万4,到手1万4,年终奖扣税方式1月1日起施行~

3、雷军做程序员时写的博客,很强大!

4、人脸识别的时候,一定要穿上衣服啊!

5、清华大学:2021 元宇宙研究报告!

6、绩效被打3.25B,员工将支付宝告上了法院,判了

浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报