互联网才不是 21 世纪最伟大的发明

几十年来,一些伟大发明颠覆了我们的生活,以至于我们现在都无法想象,如果没有它们,这日子该怎么过。没有冰箱怎么办?没有手机怎么约会?没有导航怎么赴约?

许多人认为,现代最伟大的一项发明是互联网。但他们忘了,21 世纪最大的发明应该是网络啊!你可能要说我抠字眼了。网络和互联网不是一回事吗?其实,网络比互联网早 20 年诞生,电子邮件在互联网之前就有了!这些模糊的词汇之间还是有区别的。

互联网才不是 21 世纪最伟大的发明

只有互联网的世界会很无聊

互联网是一项杰出的发明。但是,让全球所有计算机都能呈现出同一张可爱猫咪的图像,这并不是互联网的功劳,它只是为此做好了准备。从 20 世纪 50 年代起,早在互联网诞生之前,线缆把计算机联系了起来。我们可以把数字世界想象成一个星球,每台计算机都是这个星球上的一个城市,两台计算机相连就好像在两座城之间开辟一条路,不过,这条路只有这两座城市之间能用,而且在发送任何东西之前,两座城市通常都要先打好招呼,比如“我 3 小时后发一辆货车过去,把路清出来!”这种联网越来越多,到处都建起了小型私人网络,尤其是在军队和大学里,大家各有自己的一方天地。

20 世纪 60 年代,互联网出现了,方便了全球所有计算机之间的通信。首先,互联网实现了网与网的互联,而不再是两点之间的互联——所有网都连了起来,两点之间也不用再新建一条通路了!随后为了避免混乱,人们以协议的形式颁布了“交通规则”,其中最著名的是 TCP/IP。每个城市也都有了名字,即每台计算机的 IP 地址。

总之,在铺设网络前,我们就已经有了道路和交通规则,每个城市都有地址,但这就是全部了。现在还没有运输手段,城市里的不同房屋——计算机里的文件夹——还没有地址。当然,我们已经有许多或简单、或复杂的运输手段可用,只是还没有面向大众。最流行的手段包括 1971 年出现的用于文件交换的 FTP(文件传输)、1979 年出现的用于各种论坛的新闻组(newsgroups)。但这些都需要用特定的软件才能访问,那时还没有网络浏览器呢!此外还有 1965 年出现的电子邮件——这可比互联网稍早一点。

在那个年代,人们还无法“上网”,不能躺在床上,打开计算机,在网络世界里寻找制作梨酱的菜谱。“上网”还是一项相当复杂的活动,只有大学里的一小部分研究人员和军方可以使用网络。

网络发展的另一个掣肘之处是“时机”。直到 1977 年才出现最早的大规模销售个人计算机之一——Apple II 型计算机。最后,在 20 世纪 80 年代末 90 年代初,个人计算机才开始普及。1984 年,苹果公司推出了“麦金塔系统”(Macintosh)。一年后,Windows 视窗系统也问世了。那是一个欢乐的时代,“玩电脑”还是一个人的活动!

互联网才不是 21 世纪最伟大的发明

第一个网页

在美国硅谷,人们今天熟知的计算机技术正在孕育中。而同时,在瑞士日内瓦附近的欧洲核子研究组织(CERN)有个名叫蒂姆·伯纳斯 - 李的人也在为此工作着。这个组织自 1954 年创立以来就是一个令人称奇的地方,来自全球各地不同领域、不同文化的研究者汇聚一堂,通力合作。

当然,来自天南海北的人凑在一起,也不是没有问题。研究者们说着不同的语言,用着不同型号的计算机,就连计算机的系统、软件和使用方法都不一样。总之,说都说不清的混乱导致团队难以协作,人们很难共享知识,多少好主意也只能留在各自的脑子里!每次有新的研究人员来到欧洲核子研究组织,都要被介绍给许多人,掌握尽可能多的信息,就像给机器重新上润滑油一样。系统开发者也一个接一个地带来了自己的新系统,希望能“帮上忙”。结果,他们要求必须按某种格式把数据格式化,或是必须遵守某个协议……真是越帮越忙。

自 1980 年起,伯纳斯 - 李就在这里工作,目睹了一连串的沟通失败。1989 年,他想到一个主意,而这将改革整个计算机技术界。他提议,不要搞这些混乱的流程,要以连接用户为中心,统一起来。于是,由他发起倡议,让任何人在任何时候、在地球上的任何地方,无须向任何人提出请求就可以将一台计算机的某条信息与另一台计算机的信息相连。就这么简单。

为了达到目的,伯纳斯 - 李发明了至少 3 个概念和 2 个软件,它们至今仍在计算机上使用着。下面,我就来介绍这 5 个不可思议的发明。

点击这里

首先,要定义信息以何种形式出现。伯纳斯 - 李不可能选一个“傻兮兮”的纯文本文件,这类文件中没有链接。因此,他选择了超文本文件,这类文件在当时已很常见。顾名思义,超文本文件不光是文本,还加入了一点排版技巧,最重要的是,包含着指向其他页面的链接。比如,一段文本的开头以符号 <p> 标记,结尾以 </p> 标记。伯纳斯 - 李在超文本的概念上创造了“超文本标记语言”(Hyper Text Markup Langage),也就是如今常见的 HTML。下面就是一个以 HTML 写成的例子:

互联网才不是 21 世纪最伟大的发明

浏览器会解读这个文本,并在标题(以 <h1> </h1> 标记)显示“网页”,在文本段落(以 <p></p> 标记)显示“欢迎来到我的网页”,最后还会把 web 这个词显示成一个链接,指向 http://info.cern.ch。这就是史上第一个网站,1990 年 12 月 20 日,它在欧洲核子研究组织上线!今天,网页依然是以 HTML 写成的。

谁发明了这么难念的 HTTP ?

伯纳斯 - 李在定义了信息的呈现方法之后,还需要考虑如何传送。这其实没什么特别之处:和所有网络技术一样,它需要定义一个通信协议。这种协议就和人与人之间的协议一样,要列出交往规则,比如我会戴着帽子、打着领带来,然后我会敲两下门,你回答我一句暗号……

我在这里就不详述超文本传输协议(Hyper Text Transfer Protocol,简称 HTTP)的具体内容了。至少你现在明白了,为什么在网址开头有时会看到 http://,这就代表着网络通信协议。

过去、现在和未来的所有文件地址

伯纳斯 - 李发明的最后一个概念是“目的地址”。HTML 和 HTTP 提供了显示信息的必要工具和传送信息要遵守的协议,但我们还不知道往哪里传送啊!所以,要给所有文件定义一个地址,无论它在互联网的哪个地方。伯纳斯 - 李提出了“统一资源定位符”(Uniform Resource Locator,简称 URL),这就是大家平时一定看到过的“网址”,比如:

互联网才不是 21 世纪最伟大的发明

现在,你应该知道这一连串地址代表什么了:http 表示要遵守的协议;www.ituring.com.cn 是域名,指出要找的文件所在的计算机; book/1982 则表示文件在这台计算机的什么地方。

这么简单的想法乍看之下似乎没什么大不了,但它让所有人都能以简单、清楚的方式创建链接,指向任何文件。最重要的是,创建链接不用经过别人,这个系统是完全“非中心化”的。程序读取 URL 地址,利用 HTTP 将请求发送至域名所指的计算机,一旦请求被接受,对方就会发回请求的文件。你每次打开一个网页都要经历这个过程。

为了让这些想法行得通,伯纳斯 - 李又设计了 2 个新软件,第一个软件用于请求网页并显示,这就是网络浏览器(如 Chrome、Internet Explorer 或 Firefox 等);第二个软件用于接收请求并回复,这就是服务器。

1993 年,此时所说的网络以网页的形式出现在欧洲核子研究组织的一台机器上。现在就差个名字了。伯纳斯 - 李首先想到的是 Mine Of Information,意为“信息矿”。但这个词的英文缩写是 MOI,在法文中意为“我”——他不想显得太自大。之后,他又想到 The Information Mine,英文缩写是 TIM,正好是他的名字“蒂姆”——这也没有好到哪里去……最后,他终于决定采用 The World Wide Web。尽管有同事抱怨这个名字的缩写 WWW 念起来比原文还长,但伯纳斯 - 李还是觉得这个名字不错。于是“万维网”,也就是如今俗称的“网络”或“网”就这么诞生了。大家可以躺在床上尽情追剧,度过愉快的夜晚了。

AJAX:不是 AJAX 牌洗衣粉!

1993 年,网络的基础已经打下,但距离我们今天所知的网络还很远。在这个原始的网络上,用户只能读取,网页固定好了不能变,没有留言板,也不能发博文(那时也没有博客),没有安全的支付系统,所以也不能网购,没有通知、聊天功能,没有任何不刷新就能修改网页的方法,更不用说看视频和直播了。

幸好,欧洲核子研究组织决定免费公开万维网的源代码。于是,人们可以开发新浏览器、加入新功能。网上支付和第一批表单也随之出现了。1994 年创立的网景公司开发了同名浏览器 Netscape,成为网络发展的一个重要转折点。1995 年,一种新的语言——JavaScript 出现了。

如果你不是开发人员,你可能从来没听说过 JavaScript,但你在上网的时候可少不了它。JavaScript 在好几个方面将网络重新洗牌了。首先,这是一种真正的编程语言,可以编写任何软件。有了它,不用完全刷新网页也可以改变网页,谷歌图片的全屏显示、在地图上移动、玩游戏等功能靠的都是它。总之,网页活起来了!

网页加载之后可以加以修改,但内容还是不能更新,不能显示新收到的消息,不能实时显示音乐会还剩多少座位……要实现这些功能,还需要重新加载网页。

幸好在 2005 年,拼图的最后一块也出现了,这就是 AJAX。它集合了一组技术,由美国信息学家杰西·詹姆斯命名。有了它,Facebook 网页滚动到底部时就会自动出现更多内容,Twitter 时间线也一直会有新消息。总之,有了 JavaScript 和 AJAX,网页完全活了起来,加载完成后依然和网络相连!这些技术催生了 Web 2.0 时代的到来——我们有了一种鲜活、不断变动的网络,网页可以从外部更新、可以互动,无须重新加载。

AJAX 和 JavaScript 彻底改变了网页的外观和功能。今天,大部分网页并不是基于某台计算机上一个含有所有信息的简单 HTML 文件。博客的网页当然还是基于 HTML 文件,但会有一段 JavaScript 代码告诉网页去某个服务器上寻找评论,另一段代码则告诉它向另一个服务器寻找音频文件,或者指出存储图片的地方,等等。

你可能明白了,网页极少存储在单一服务器上,它越来越像一幅马赛克画,由不同服务器上的许多片段组成。

这看似简单,几行字就说完了,实际上可复杂得多!网络是全世界的合作成果,而且不断变化。20 年前,没人想到人类和机器竟能如此合作,通过几条基本规则就能欢乐、嘈杂地共处。

然而,伯纳斯 - 李并不是第一个构想出方便合作与信息传输的工具的人。在 1980 年,法国就有了 Minitel。它是由法国电信公司开发的。Minitel 与互联网最大的区别就在于,它是集中化的,具有管控意图。2012 年,Minitel 彻底被废弃。之前,它一直由法国电信管理,也就是由法国政府控制。而互联网真正做到了“无国界”,这也是它成功的保障。1994 年,伯纳斯 - 李创建的国际组织“万维网联盟”(World Wide Web Consortium,简称 W3C)发布了一些建议,希望大家都能遵守,但也不是强制性的。

语言之战的终结

有了当下各种技术,浏览器的功能越来越多,通过网页可以编辑图片、开视频会议,甚至编程。

但最了不起的是,从用户角度说,唯一必须使用的语言就是网络浏览器语言,即 JavaScript 和 HTML。正如上文所说,浏览器根据 URL 地址要求一个文件,然后对方发回一个含有 HTML 和 JavaScript 的文件。也就是说,如果你的计算机没有安装更多东西的话,你浏览的所有网页都是以这两种语言写成的。无论是 Google Docs、Agar.io 还是 Netflix,这些网页就是一些 HTML 和 JavaScript 文件。

或许你经常听说所谓的“云”(cloud),这正是一种极致的网络愿景,所有计算机都简化成网络浏览器,解读 HTML 和 JavaScript,其他一切都远程完成。今天,人们也许已经不怎么区分“互联网”和“网络”。不出几年,可能也没什么人会去区分网络浏览器和操作系统了!


本文选至《科学也反常》

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();