与20世纪70—80年代互联网的飞速发展相比较,超媒体技术在同一时期只取得有限的进步。1987年苹果公司比尔·阿特金森设计的超媒体应用程序超卡(Hyper Card)系统是当时最有影响力的代表[27]。超卡系统让用户可以通过创建信息卡片(类似于万维网的HTML页面)来组织信息。每张卡片包含信息和交互功能,卡片之间通过各种关系可以相互建立关联,也就是超文本链接。一组相关的卡片可以包含在一个“堆”中,每个堆相当于一个数据库。用户的超卡界面就是不同堆的组合。
超卡的使用非常灵活,比如汽车销售公司可以用超卡系统登记本公司销售的各种汽车,然后用超文本在不同车型之间建立起联系,使用户可以方便地查询库存和比较不同车辆的功能[28]。为了方便用户创建超卡,苹果公司在超卡软件中配备了各种基本图标以及功能插件,还提供了后来成为Javascript鼻祖的HyperTalk脚本语言,用来驱动部件的交互以及查询功能。后人看超卡系统,会惊讶它与万维网的相似。事实上它的很多设计理念和功能超越了万维网。
尽管超卡系统比较完美,但缺乏互联网这样一个载体,任何超媒体系统都将是一个有限的自封闭系统,无法充分发展。20世纪80年代末的互联网已经具备了超媒体技术载体的基本功能。不过此时的美国还没有人想到将互联网与超媒体联系起来。将这两项技术联系在一起的是在千里之外的欧洲的一个计算机程序员蒂姆·伯纳斯-李(Tim Berners-Lee)。
伯纳斯-李在他的回忆录《织网》一书中回忆自己出生于一个计算机世家,他的父母是英国最早的商用计算机“马克一号”的程序小组成员[24]。在他上高中的时候,有一天他发现父亲正在研读如何使计算机像人的大脑那样能够通过神经的连接产生智能的资料。那次与他父亲的简短交流给他留下了一个印象,这就是如果计算机之间可以通过互联使人们从一台计算机获取以前所得不到的另一台计算机上的信息,那么计算机就会变得更强大。这一想法与1945年万尼瓦尔·布什提出的扩展存储器(Memex)非常类似。
1980年伯纳斯-李在欧洲量子物理实验中心(CERN)做软件咨询工作时计算机的互联已经通过互联网实现,但从一台计算机上方便地获取另一台计算机上的信息却远没有达到理想的方便程度,人们仍然习惯于首先把信息存储到一个共享的服务器上,然后从服务器上获取需要的信息,直接从自己的计算机去别人的计算机上获取信息是一个相当具有革命性的想法。伯纳斯-李在形成了用超媒体来连接不同服务器上文件的想法后遇到了当时在实验中心做软件工程师的罗伯特·卡雷欧(Robert Cailliau)。卡雷欧被伯纳斯-李的想法所吸引,两人一起合作编写了万维网的原型“查询万有”(Enquire Within Upon Everything,ENQUIRE)系统来帮助工作人员查找中心所使用的各种软件之间的关联,这个系统体现了万维网的核心思想。
随后伯纳斯-李离开了欧洲量子物理实验中心去了公司工作,直到1984年才又回到实验中心做助理工作。他回来工作期间,互联网的发展以及欧洲量子物理实验中心作为欧洲最大的互联网节点的特殊地位,给了他一个千载难逢的机会去观察和思考如何将超文本与互联网结合起来。经过4~5年的构思和完善,他在1989年向实验中心正式提交了一份后来被称为“万维网蓝图”的报告——《关于信息化管理的建议》(Information Management:A Proposal)。在这份报告中伯纳斯-李提出了万维网的框架的运行机制和实施方案。他强调这种分布式信息组织形式不受计算机平台影响和集中式管理的瓶颈局限,可以长久保留信息,而且更新方便。在报告的后半部分伯纳斯-李提到了新系统的冷启动策略,这就是在该系统平台上提供其爱他信息系统网络协议的接口。这样,用户可以通过万维网平台接口来直接浏览使用其他传输协议的信息源,从而充分利用网络已经有的信息资源。显然,此时的伯纳斯-李已经想到了用万维网来获取互联网已经存在信息的可行性,并希望借此来吸引和增加万维网用户。
万维网的主要组成部分是服务器和浏览器两部分。由于实验中心鼓励直接购买需要的软件,所以伯纳斯-李和卡雷欧开始四处寻找能够实现他们想法的现有软件。他们至少发现了两个类似的产品可以通过简单的改造来作为未来万维网的浏览器。这两个产品的编写者分别来自英国的南安普敦大学和美国罗得岛州的一个生产电子图书的公司。但它们都表示了对万维网这个想法的怀疑。它们以及其他伯纳斯-李和卡雷欧试图说服的人们显然没有能够理解这个新技术的特殊意义。比如很多人担心如果通过网络连接的网页不在一个统一的信息库里就可能查询不到,当然这是我们现在经常遇到的坏链问题。但相对于能够查询到的信息和分布式的万维网给我们生活带来的其他巨大方便,这点小小的不便实在不值一提。
由于找不到公司愿意提供他们需要的软件,伯纳斯-李决定自己动手编写浏览器和服务器。1990年11月中旬伯纳斯-李在NeXT工作站上制作了第一个万维网编辑和浏览器World WideWeb和第一个网络服务器。随后他编写了执行万维网项目细节的网页。至此世界上第一个万维网站诞生。但此时离万维网真正流行还有一段时间,因为要想让这个技术为大众所接受,还需要有丰富的浏览内容,让用户觉得使用这项新的技术能够带来实际收获(这其实是后来很多内容提供商的共同挑战,就是如何增加网站的内容,从而吸引人们来浏览和使用)。于是他根据在为CERN准备的报告中提出的方式,将当时已经存在大量网络新闻组的讨论内容通过文件传输协议(FTP)转变成超文本文件格式,这一举措使浏览器可以阅读的内容立即变得丰富起来。后来随着浏览器的普及,包括使用电子公告板和黄鼠网协议在内的包含大量信息的数据库被万维网通过信息转换变得可以在浏览器中浏览、查询和更新。最终,人们发现新的内容已经全部变成万维网形式。
除了内容外,更易用的浏览器的出现是万维网能够流行的另一个必要条件。伯纳斯-李编写的浏览器只有为数不多的NeXT用户才能够使用[29]。而当时绝大多数互联网用户使用的是UNIX工作站、苹果计算机和IBM个人计算机及其兼容机。为了给这三大平台提供合适的浏览器,伯纳斯-李和卡雷欧一起做了不少推进工作。
首先取得突破的是UNIX系统浏览器。1992年卡雷欧利用去芬兰出差的机会鼓励芬兰科技大学的几个硕士学生联合为万维网技术开发一个适用的浏览器作为他们的硕士毕业项目。4月份这几个学生开发出了一个基于UNIX的X视窗系统的万维网浏览器Erwise。不过令人遗憾的是,尽管卡雷欧鼓励他们继续为其他平台开发类似的浏览器,这些学生毕业后没有继续从事这一项目。稍晚一些的5月份,加州大学伯克利分校的华裔大学生魏培源在给苹果计算机开发的HyperCard的基础上也为X视窗系统开发出了ViolaWWW浏览器。这一浏览器与后来的Java系统非常类似,需要在操作系统上预装Viola软件才能使用。Erwise和ViolaWWW浏览器的主要缺陷是只适用于UNIX系统。堪萨斯大学学生开发的Lynx浏览器虽然可以在DOS上使用,但主要是文本界面。所以在1993年前后使用IBM个人计算机的DOS操作系统和苹果计算机的美国大众还没有一个简单易用的图形界面浏览器可以使用[30]。
正当伯纳斯-李他们为不同平台的浏览器奔波时,出现了一个小插曲,这就是有可能与万维网抗衡的黄鼠网的版权拥有者明尼苏达大学在1993年宣布开始征收黄鼠网软件的使用费用,这让很多商业用户起了戒心,结果黄鼠网的发展势头缓慢下来。此时一直关注黄鼠网发展动向的伯纳斯-李刚结束了麻省理工学院学术访问要返回欧洲,他看到了明尼苏达大学的策略失误后,迅速采取行动,说服了欧洲量子物理实验中心的管理层将万维网协议免费提供给大众使用,并且不设置任何使用限制。这一举措和接下来伊利诺伊大学研发的马赛克浏览器的出现最终促成了万维网的流行。
伊利诺伊大学是最早通过超级计算中心项目接入阿帕网的美国州立大学之一。该大学的超级计算中心从20世纪60年代开始就通过阿帕网为用户提供超级计算服务。在IBM个人计算机问世两年后,超级计算中心第一个把提供超级计算服务的用户界面延伸到了个人计算机上,提供了苹果和DOS版的Telnet远程登录软件。普通用户可以通过该软件在自己的个人计算机上轻松地远程登录到中心的超级计算机,使用各种计算服务,这成为后来流行的客户/服务器模式。在如何让用户获得软件的方式上,超级计算中心采取了免费的FTP下载方式,并随时将Telnet的最新版本上传到FTP服务器。这样互联网用户只要通过FTP连接到超级计算中心的服务器上就可以下载该软件。这一传播方式的创新后来成为传统,为马赛克浏览器的迅速普及起到了重要的渠道作用。
由于免费提供的Telnet软件简单易用,伴随着20世纪80年代后期NSFNET在美国个大学的不断普及,Telnet软件也成为美国大学校园必备的工具软件。后来超级计算中心发现图像文件日益增多,于是又开发了NCSA Image软件,该软件可以让苹果计算机用户使用和编辑图像软件。该软件也可以通过FTP免费下载文件。这些免费软件的提供为超级计算中心积聚了一大批潜在的用户。
时间一晃到了1990年,超级计算中心开始了名为“拼贴”(Collage)的同步合作软件项目的开发。该项目的目标是让身处不同地方的用户可以登录到同一个系统中,通过视频和书写白板进行交流,这与后来的视频会议系统非常类似。拼贴系统的一大特色就是具有对图像文件的处理和网络传输能力。这为后来马赛克浏览器图像嵌入网页部分的开发奠定了重要的技术基础。在开发该系统期间,一个在超级计算中心工作的本科生发现了伯纳斯-李的万维网。拼贴项目开发团队很快决定将万维网提供的文件和图像通过一个浏览器并入到拼贴系统中,这样用户就可以在拼贴系统中查询和使用万维网信息。因为需要将该系统用于不同的操作系统,开发团队将开发浏览器的任务交给了在超级计算机中心工作的学生马克·安德森(Marc Andreessen)和毕业后留校的艾瑞克·比那(Eric Bina)。比那负责编程,安得森负责收集用户反馈和程序功能的添加和修改。他们两人很快编写好了一个基于UNIX系统X视窗的能够显示多媒体信息的万维网浏览器,并为其取名为马赛克(Mosaic)[25]。
图2-2 伊利诺伊大学超级计算中心(NCSA)开发的多媒体浏览器马赛克
与在这之前的浏览器相比,马赛克浏览器(见图2-2)有几个重要的特色,比如它能够将文本和图像同时显示在网页上,为用户提供了简单易用的图形界面,提供了可供点击的按钮和上下滑动网页的功能,让用户可以很方便地浏览信息。该浏览器还首创了在网页中可以直接点击的超文本链接模式。这些都是在这之前的浏览器所没有的特色。在内容方面它除了 可以浏览万维网外,还包含连接文件传输协议、新闻组协议以及黄鼠网协议的接口,这样用户可以用马赛克下载文件,浏览新闻组以及黄鼠网系统的信息。正是这些特色让这一款浏览器迅速流行,成为大众使用万维网和接触其他网络信息的重要工具。
1993年1月马赛克的UNIX版本被放在超级计算中心的免费FTP服务器上,不到两个月的时间就被下载了上万次。安德森和比那很快又组织开发出苹果操作系统和当时刚出现的微软视窗系统的马赛克浏览器版本,并在8月提供了这两个版本的免费下载通道。尽管马赛克浏览器一开始是作为拼贴项目的一个模块开发的,但由于当时的网速和带宽无法满足拼贴系统的需求,所以拼贴系统无法为当时的大众所普遍使用。相比之下,马赛克浏览器很好地解决了远程信息服务中的文字显示、数据连接以及图像传递的问题,使得万维网用户可以通过其图形界面方便地搜索和阅读以前要通过好几种不同的程序才能得到的信息。另外1993年NSF主干网的提速和家庭用网络连接速度的提高使得使用万维网的用户呈现指数增长趋势,所以马赛克浏览器很快流行起来。不久超级计算中心为了满足用户的需要又开发了马赛克服务器软件,供用户免费下载使用,降低了创办万维网网站的技术门槛,无形中又增加了很多潜在的万维网平台。这一系列举措进一步提高了马赛克浏览器的市场普及率。
马赛克的苹果和微软视窗版推出4个月后就因为它的快速流行而引起了美国主流媒体的注意。1993年12月《纽约时报》的商业版用头版介绍了马赛克浏览器,称其将创造一个全新的产业。DEC和施乐等当时领先的计算机公司开始在它们出售的计算机上预装马赛克浏览器。微软则悄悄地通过伊利诺伊大学的知识产权代表公司Spyglass获得了马赛克源代码授权,开始筹划对策。此时已经毕业并来到硅谷的安德森在硅谷图形公司的创始人吉姆·克拉克(Jim Clark)的鼓励下返回伊利诺伊大学,将开发马赛克浏览器的全班人马召集起来,来到硅谷成立了网景公司,开始了后来一度威胁到微软的网景浏览器的开发[31]。
马赛克浏览器的流行使得覆盖互联网的万维网成为新的连接世界的平台,也引发了以硅谷为中心的电子商务革命。1993年1月马赛克刚出现时,全世界只有50个万维网服务器。随着马赛克浏览器的流行,万维网服务器的数量在当年10月达到500个,1994年6月增加到2738个,呈现指数增长趋势。1995年成立的雅虎以及后来的亚马逊、易贝、谷歌等电商巨擘都是以万维网为平台出现的。
值得称道的是,尽管后来20年时间里几乎所有的互联网经济奇迹几乎都是建立在万维网的基础之上,作为万维网创始人的伯纳斯-李却没有因此而发财,因为他没有为这项技术申请专利。诚如他所言:“如果我打算把万维网商业化,那么它就不会像今天这样成为一个美妙的全球性系统。”
[1]普救派是18世纪在美国逐步形成的基督教新教派别之一。该派认为耶稣基督的救赎不仅仅是为基督徒,而且是为全人类而做的,魔鬼撒旦和堕落的天使也能得救。这在当时的美国属于极端自由的宗教信仰派别。布什后来的世界观深受家庭信仰背景的影响。
[2]IMP的核心构件是路由表(Routing Table)。当主机A需要向主机B发送信息时,A的IMP将来自主机的信息处理后首先查看自己维护的路由表,这个路由表向IMP提供当前网络的连接信息,相邻的IMP,网络拥挤信息以及其他与路由相关的信息。根据路由表提供的信息,A的IMP可以知道与自己相邻的IMP中是否有B,如果B的IMP恰好与A的IMP相邻,那么该信息就直接传送到B。如果不相邻,就寻找和B最近的C,然后将数据包传给C。接收到从A的IMP传送过来的信息的C的IMP根据自己的路由表中的路径资料,估算出与自己相邻的IMP中和B最近的一个IMP,再将信息传过去,以此类推,直到B的IMP接收到信息并将信息传给计算机B为止。因为入网的计算机可能随时产生变化,所以每台IMP都以每半秒钟一次的刷新速度不断更新自己的路由表。IMP在这里承担了后来的路由器(Router)的角色。而阿帕网和后来的互联网在传输协议方面的不同之处就在于,阿帕网的IMP担负起保证信息传递的可靠性、安全性和完整性等所有工作,后来的TCP/IP协议由于有更细密的分工,所以路由只负责信息的传递和寻址工作。
[3]我们这里需要简单地追溯一下协议这个词的内涵。传输协议里协议(protocol)这个词的希腊词源是指由古埃及传入古希腊的用盛产于尼罗河三角洲的纸莎草的茎制成纸作为书写媒质的草制书卷的第一页,在这一页有书籍的摘要、版权认定和出版日期等信息。协议的英文原意则是外交场合里双方非正式的协议草案。把这个词引入通信网络领域用来描述通信协议是对其希腊文和英文词源的一个共同扩展。一方面,克罗克他们逐步建立起来的网络传输协议的制订模式是一种非正式的方式,通常一个协议先是以征求意见书(Request For Comments,RFC)的方式发表,征求大家的意见进行一定的修改,意见统一修改完毕后,开始实施,然后在使用过程中再不断改进。这与其英文原意颇为吻合。另一方面,任何网络协议的基本实施方式都是在要传输的数据包上加入报头信息,报头信息通常包括数据包的校验信息、收发地址和时间等信息,这又与希腊词源的含义极为接近。
[4]加州大学圣塔巴巴拉分校负责当时信息技术办公室的应用程序的网络图像显示项目。萨瑟兰和泰勒这时在犹他大学研究网络三维成像技术,罗伯斯已经接替泰勒担任计划署信息技术办公室的主任。
[5]随着阿帕网的不断扩张,越来越多的军用计算机开始联入阿帕网,由于军事信息的敏感性,安全问题开始出现。为了更好地控制阿帕网,1975年7月国防情报局(Defense Communications Agency,DCA)正式接手阿帕网的管理和控制。几个月后,陆军上校大卫·罗素(David Russell)被任命为计划署信息技术办公室的新主任。
[6]该组织后来更名为国际电信联盟远程通信标准化组织(Telecommunication Standardization Sector of the International Telecommunications Union,ITU-T)(www.daowen.com)
[7]根据传统国际标准化组织通常都是等一项技术成熟后再制定相应的统一标准,但是在制定OSI框架这件事上,该组织采取了在技术成型之前提前介入的模式,这样做除了可以避免让某一个计算机制造商垄断标准外,还可以让不同的标准之间进行一定的竞争。
[8]1981年,计划署资助加州大学伯克利分校的比尔·乔伊将TCP/IP协议编写进了UNIX操作系统里,大大提高了TCP/IP的易用性和普及率。
[9]施乐当时收购了一家名为Scientific Data Systems的计算机公司,该公司也生产小型机,是DEC的主要竞争对手。所以施乐不允许员工购买DEC的PDP小型机。可是PDP-10是当时很流行的小型机,深受计算机开发人员的喜爱,于是施乐帕洛阿尔托研究中心的计算机研究人员自己动手克隆了一台PDP-10小型机。
[10]麦特考夫将这些观点写进了他的一篇题为“Steady-State Analysis of a Slotted and Controlled Aloha System With Blocking”的论文中。该论文在1975年1月的ACM SIGCOMM Computer Communication Review上发表。
[11]艾布拉姆森设计的传输方法和麦特考夫的改进在后来成为局域网的经典信息传输方式,这一方式的官方名称是一个非常冗长拗口的名字“载波侦听多路访问/冲突检测”(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)。
[12]每个MAC地址的长度为48位,这样一共可以有2~48个不同的地址。这些地址按照一定的方式分配给生产以太网卡的公司,然后固化在网卡上。MAC地址包含生产厂家的信息等。
[13]后来每台设备分别与交换机(switch)连接,这样两种设备就可以通过交换机直接点对点建立连接了。
[14]在这之前,麦特考夫曾经在1975—1976年间与前妻离婚后离开帕洛阿尔托研究中心,去花旗银行的洛杉矶分部工作了7个多月,然后又回来。
[15]贝尔是DEC的早期员工和技术核心人物。他为DEC设计了好几种PDP小型机。后来担任DEC最流行的VAX系列的总设计师。
[16]麦特考夫创立的3Com后来主要生产以太网卡;1984年成立的思科主要生产路由器;而1982年成立的升阳主要生产工作站计算机。
[17]该协议主要用于通用汽车的生产自动化协议中,它与令牌环区域网的主要区别在于其布线方式是总线形式,不是环形。
[18]艾林研究所是杨百翰大学组建的为政府和公司提供合同化的研究咨询服务的机构,类似于斯坦福大学的斯坦福研究所。
[19]网威还根据施乐公司的IDP/SPP网络协议设计出了自己的IPX/SPX网络协议。当时三联公司的以太网产品采用的以太网协议标准是对应于OSI模型的物理层和数据链层,也就是最下面的两层,和物理信号的传输有关。而网威公司的传输协议IPX/SPX处在OSI模型的第三、四层,与TCP/IP相对应。所以两个公司的产品正好互补。IPX/SPX协议在局域网上的传输效率要高于TCP/IP,但在广域网和互联网上效率比较低,后来TCP/IP协议占据了互联网的主导地位,所以IPX/SPX协议渐渐成为历史。
[20]RFC597里有关于这一地址表的详细描述。
[21]关于IP地址的设计 ,参见RFC796。
[22]其中A类网的网址用前8位二进制数标识,统一以0起头,后面的7位一共可以代表128个不同的网络。后面的24位二进制数可以全部用来标识网络内的主机,这样每一个A类网络一共可以有16多万台入网主机。相比之下,C类网络前24位标识,统一以110起头,用后面的21位二进制数代表网络地址,这样可以提供200多万个不同的C类网络地址,但是每一个C类网络内的主机只有8位二进制数字表示,所以每一个C类网最多只能有256台入网主机。
[23]比如麻省理工学院的一台服务器的域名可能为A.MIT.ARPA,而麻省理工学院林肯实验室自己的子网的两台主机的域名可能分别为:A.LL.MIT.ARPA和B.LL.MIT.ARPA,其中林肯实验室的子网内所有的计算机可以用*.LL.MIT.ARPA表示。
[24]当需要查询一个域名所对应的IP地址时,查询主机的操作系统附带的解析器首先要查看该域名的IP地址是否已经在主机的缓存里,如果没有的话,就将需要解析的域名发送给为该主机提供域名解析的本地域名服务器,如果可以直接解析该域名,本地域名服务器就会将相应的IP地址传回给主机。如果解析不了,就会将域名信息传递给它的上层域名服务器,由该服务器来解析,以此类推,直到域名获得解析为止。
[25]根据吉尔德定律(Gilder’s Law)主干网带宽的增长速度至少是运算性能增长速度的三倍。因为运算性能增长速度主要是由摩尔定律决定的,所以根据每两年运算性能提高一倍计算,主干网的网络带宽的增长速度大概是每8个月增长一倍。而主干网的网络带宽的不断增长意味着各种新的网络应用方式的出现和网络用户的使用费用的不断降低。吉尔德定律和摩尔定律之所以联系在一起,是因为带宽的增长不仅仅受路由传输介质影响,还主要受路由等传输设备的运算速度的提高,和作为节点的计算机的运算速度的加快的影响,而后者是由摩尔定律决定。
[26]万维网以超文本的形式显示信息并将分散在不同地方的信息链接起来,从而使所有的网络资源可以用一个统一的界面来搜索和使用。英文万维网的字面直译是“环球信息网”。在英文媒体里,它经常被简称为Web。我们现在常常将万维网等同于互联网,因为后者已经将前者全部覆盖。
[27]阿特金森是苹果公司的早期员工之一,也是乔布斯在苹果公司时的用户界面设计骨干工程师。他是界面设计大师杰夫·拉斯金(Jef Raskin)在加州大学圣迭戈分校的学生。毕业后他在华盛顿大学攻读了神经科学博士学位。
[28]超卡系统充分发挥了苹果公司在图形界面方面的优势。比如它允许用户用鼠标圈点一张超卡上一条鱼的眼睛,用户双击包含眼睛的区域调出对话框后,可以输入在其他超卡中寻找“眼睛”的命令,然后将找到的其他超卡通过这一关键词和这张超卡建立起联系。以后用户输入“眼睛”的关键词,就可以将所有包含眼睛的物体的超卡找到。
[29]NeXT是乔布斯离开苹果公司后自己成立的计算机公司研制的一款个人计算机。尽管该计算机图形界面和图像处理技术卓越,但价格昂贵,所以没有产生市场规模。
[30]后来流行的微软视窗系统(3.0)这时才刚刚出现。
[31]伊利诺伊大学则在1994年年初将马赛克浏览器的各项知识产权申请了专利,以供商业授权。8月从超级计算中心分离出去的一个创业公司Spyglass获得了关于马赛克浏览器各项专利使用权的独家授权,包括微软在内的100多家公司随即从Spyglass那里获得了浏览器的授权。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。