都知道网站404 可你知道为啥是404吗?

每当浏览网页出现“404错误”时,我们都知道这表示该网页出现了访问错误,也就是页面丢失。其实,这早已是人尽皆知的常识。作为一种标准的HTTP返回代码,404被用来表示网页服务器HTTP的响应状态。

然而,对于其历史来源却充满了神秘色彩,引人探寻。在21世纪初,甚至有一群人试着去研究“404错误”的来源。

只知道“404”是网页报错却不知其从何而来?

据传在第三次科技革命前,整个互联网的形态就像是一个大型的中央数据库,并设置在一个叫404的房间里。那时,所有的访问请求都由人工手动完成,若在数据库中没有找到请求者所需要的文件,或是由于请求者写错了文件编号,他们就会得到一个“room 404 : file not found”返回信息。

实际上,“404错误”信息通常是当目标页面被更改、移除,或是客户端输入页面地址错误后显示的页面。久而久之,人们也就习以为常的用404代表服务器未找到文件的错误代码了。

当然,经实际考证后发现传说中的room 404并不存在,在HTTP请求3位的返回码中,4开头的代表客户错误。而在中国,“404错误”有了更多延伸意思,既可能是网页不存在,还可能是内容非法,或是内容创作者主动删去。

其实,我们想说,尽管人类创造了网络技术,它也受我们所控制,但它却并非完全可靠。实际上,在互联网诞生不久后,错误的网址访问也随之而来。我们在享受互联网带来的知识、便利的同时,自然也得忍受404错误带来的痛苦,要不怎么说“事物都是具有两面性的”。

不过,对于“404错误”的起源,身为互联网创造者的Robert Cailliau对于上面说法并不认同,甚至说是无稽之谈,404错误的真正来源并非如此。尽管现在来看,这种错误访问并不会影响互联网发展,但在互联网建设初期,这样却会造成大量资源的浪费。

对此,Cailliau表示:“当你为新系统编写代码时,不能浪费太多时间检测错误地址访问的要求。不然服务器要记住太多信息,会浪费太多资源,现代的极客们根本不知道用64K内存编程是什么感觉!为了避免错误地址访问,程序员想出了一个很简单的方法,即指定错误类别的数字范围,而‘404错误’就是程序员为让使用者连接网络错误时,知道自己错在哪而设置的。将使用者的错误类型标记为404,意味着该网页不存在。”

“此外,我完全没有想到人们对‘404错误’的来源是这种想法,可能大家更偏爱一些非理性的、充满神秘色彩的故事吧,当然这在人类中相当普遍,当人的影响力小,信息传播缓慢的时候,这些非理性的特质是无罪的。但如今,由于网络的存在,这些特点已经获得了一种危险的力量。”Cailliau补充道。

当然除了404以外,其实还有很多其它的HTTP状态码。例如200,其代表着服务器已成功处理请求并提供了请求的网页,又或是表示请求的网页已永久移动到新位置的301,以及代表服务器遇到错误无法完成请求的500等等,很多很多。

最后,我们想说的是,不管如何,像“404错误”这样的HTTP状态码会一直存在于网络世界之中。

本文来自企鹅号 - TechWeb媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Flutter入门到实战

从内涵段子被下架、快手禁用评论探讨其背后的技术细节

由于后台接口没有返回数据了,界面上自然都是空白,你看内涵段子上面的所有的列表的item都显示的是同一个View,就是下面的这个声明。其实只要把所有的item替换...

24720
来自专栏阮一峰的网络日志

防止网页被嵌入框架的代码

最近,国内开始流行另一种流氓行为:使用框架(Frame),将你的网页嵌入它的网页中。 比如,有一家网站号称自己是"口碑聚合门户",提供全国各个网上论坛的精华内容...

34040
来自专栏Debian社区

Chrome浏览器中新增反恶意软件广告功能

谷歌宣布在Chrome浏览器中新增三个安全功能,阻止网站在未经用户或网站所有人同意的情况下悄悄将用户重定向至新的网址。

13120
来自专栏FreeBuf

记一次完整的办公网渗透到idc过程

前言: 看到各位大神分享他们内网渗透的经验与技巧,小菜打算也来分享分享。 http://www.freebuf.com/articles/sys...

32870
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–现金管理(160)-28现金集中-F111运行清算付款请求

4.8.3 F111通过 F111-付款运行清算付款请求 可以使用付款程序对客户和供应商进行付款,或在总分类帐户间使用。和标准付款程序不同,此付款不是建立在未清...

40770
来自专栏我和PYTHON有个约会

Django来敲门~第一部分【1.概述】

python程序web项目开发,是非常重要的一部分,Python为基础的web项目开发的框架有很多,django无疑是最强大web框架之一,也是我们必须掌握的框...

10730
来自专栏Zephery

谈谈个人网站的建立(七)—— 那些建站必备的插件

欢迎访问我的网站http://www.wenzhihuai.com/ 。感谢,如果可以,希望能在GitHub上给个star,GitHub地址https://gi...

45670
来自专栏程序员互动联盟

我在苹果公司学到的编程技巧

当我还在苹果在线商店工作的时候,我们从来没有对在线网站做过负载测试。我们也不觉得需要这么做。然而,当每次史蒂夫·乔布斯在演示某个幻灯片过程中切换到在线商店时,会...

344120
来自专栏数值分析与有限元编程

有限元分析软件ADINA

ADINA(Automatic Dynamic Incremental Nonlinear Analysis)软件是美国ADINA R&D公司的产品,是基于有限...

34410
来自专栏北京马哥教育

Linux Shell从入门到删除根目录跑路指南

shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭...

33670

扫码关注云+社区

领取腾讯云代金券