网站404谁都见过, 你知道为啥是404么?
转载于:http://hqtime.huanqiu.com/article/a-XCXVR494725A986269292F
每当浏览网页出现“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状态码会一直存在于网络世界之中。