上一篇:重磅!阿里发布全新操作系统,成功顶住多年双 11,这次要干翻 CentOS 了!

可怕的“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在利维坦发布

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

感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。

· END ·

最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。

正文结束

推荐阅读 ↓↓↓

1.救救大龄码农!45岁程序员在国务院网站求助总理!央媒网评来了...

2.如何才能成为优秀的架构师?

3.从零开始搭建创业公司后台技术栈

4.程序员一般可以从什么平台接私活?

5.37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6.IntelliJ IDEA 2019.3 首个最新访问版本发布,新特性抢先看

7.这封“领导痛批95后下属”的邮件,句句扎心!

8.15张图看懂瞎忙和高效的区别!

404为什么是404?相关推荐

  1. 404 为什么是 404?

    「404」错误已成为网络终极谜题和虚无主义悖论. 来源:利维坦(ID:liweitan2014) 文 / Rui Alves 译 / antusen 校对 / Yord 可怕的「404 页面不存在」错 ...

  2. 发布到服务器接口404_新版本永雾林渊周五来袭,404战队真的404了

    不知不觉来到了V社口中的"12月中旬".虽然昨天没有看到新版本正式登陆,但是知道了确切的更新时间,让在老版本里苦苦挣扎数月之久的我们终于有了盼头! 昨天下午DOTA2官博发布公告: ...

  3. 什么是404页面,404有什么做用,网站做404有什么好处?

    什么是404页面? 404页面是客户端在浏览网页时,服务器无法正常提供信息,又不知情况,所返回的页面.很多用户访问错误网页时就会经常出现这个404页面. 所谓404页面主要指的是在运营网站的过程中,当 ...

  4. 缤纷多彩的404页面(404.html)

    文章来源:https://www.skyqian.com/archives/404-Pages.html 一般而言,第一时间会在博客更新,CSDN随缘更新. 引言 别离滋味浓于酒.著人瘦.此情不及墙东 ...

  5. 服务器里这么修改404页面,网站404页面怎么做

    网站404页面怎么做?谈及网站404页面,诸多站长在网站运营的过程中,难以避免404页面的出现.404页面意味着网站存在死链接,当搜索引擎蜘蛛爬取此类网址的时候,应当反馈404状态吗,告知此URL网址 ...

  6. php代码返回404,php--------返回404状态

    1. 页面没找到 Not Found header('HTTP/1.1 404 Not Found'): 2. 用这个header指令来解决URL重写产生的404 header header('HTT ...

  7. php网站404页面302,404页面该怎么做?

    建立404页面的方法是:在".htaccess"文件中加入"ErrorDocument 404/Error.html"代码:然后建立一个简单的html的404页 ...

  8. 虚拟主机linux系统404,虚拟主机404页面的设置方法!

    原标题:虚拟主机404页面的设置方法! 对任何一个网站的SEO而言,404页面都极其重要,这不仅是避免被引擎惩罚的一种方式,也是避免用户损失的牵引流量方法. 虚拟主机404页面的设置方法! 当我们的网 ...

  9. php 404页面设置,ThinkPHP 404页面的设置方法

    在很多网站中都会有使用404页面的时候,在ThinkPHP框架中该如何设置呢,接下来我介绍其中一种方法 1.首先要在Lib/Action 下建立EmptyAction.class.php模块 内容如下 ...

  10. IIS发布问题:HTTP错误404.17和404.2

    今天给客户部署项目的时候,遇到了两个关于IIS服务器的小问题,在此记录一下. 一.HTTP 错误 404.17 HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由 ...

最新文章

  1. python画二维散点图-python3怎样画二维点图
  2. java基础之Object类和异常
  3. PyCairo 中的文本
  4. python实时显示温度变化_python实时温度绘制
  5. 着陆页UI KitWanted,可参考的模板
  6. 货车交强险在网上能买吗?
  7. 使用PHP对word文档进行操作的方法
  8. Silverlight访问WCF双工通信的官方例子
  9. 深度学习的1000+篇文章总结
  10. u盘盘符不显示 win10_win10系统u盘不显示盘符的解决方法
  11. pytorch自定义Dataset,torch加载自己的numpy数据集,torch-cnn训练numpy进行回归
  12. 经典逻辑题笔试题和答案(不断更新)
  13. 【Android安全】priv-app 系统应用权限
  14. 联盛德W806入门教程-CDK安装教程及代码下烧录
  15. 第五章-系统的频域分析
  16. JS逆向之补环境过瑞数详解
  17. html5如何设置视频为静音,html5中设置或返回音频/视频是否应该被静音的属性muted-...
  18. 奥付云荣获2017年度企业级创新应用 Top 50
  19. Redis - RedisClient
  20. 喜欢讲故事的“认养一头牛”,能走多远?

热门文章

  1. 《solidity学习笔记》chapter 2-solidity基础知识
  2. java设计模式案例详解:观察者模式
  3. linux-LINUX试题
  4. [RHEL5企业级Linux服务攻略]--第8季 Iptables服务全攻略之实战配置
  5. HDU 1394 Minimum Inversion Number 树状数组
  6. hdu Train Problem I 栈的基本应用
  7. iOS开发的几种加密方式
  8. ios开发之获取版本号,部分设备信息
  9. 01数据结构——绪论
  10. 在 tornado 中异步无阻塞的执行耗时任务