漫谈互联网历史【8】- 90年代:现代互联网的诞生
ARPANET在1990年完成了它的使命。网络的发展从军用转为民用,一个崭新的网络时代就要来临了。
1991年8月6日,第一个WWW网站出现了。他的发明人是英国科学家蒂姆·伯纳斯—李(Tim Berners-Lee)。伯纳斯—李的父母都是数学家。从小在数学的熏陶中长大。早在1980年,在欧洲核子研究中心(CERN)做合同工时的伯纳斯—李就提出了超文本(hypertext)的概念。1984年,伯纳斯—李重返CERN,成为研究员。1989年,伯纳斯—李看到了超文本在互联网中的潜力,便提出了万维网(World Wide Web - WWW)的概念。他设计和实现了第一个WWW浏览器,第一个WWW服务器(CERN HTTPd),和第一个网站。跟据CERN,第一个网址为:http://info.cern.ch/hypertext/WWW/TheProject.html。这个网站提供详细信息,教大家如何安装和使用浏览器和服务器。蒂姆·伯纳斯—李因此被公认为万维网之父。虽然互联网(internet)这个词的词义宽泛,但如今大多数人都把它理解为万维网(WWW)。乃至很多时候分不清互联网和万维网的区别。因此,称他为互联网之父也不过份。1994年,伯纳斯—李创建了World Wide Web Consortium (W3C),即万维网联盟 。伯纳斯—李坚持免费和开放的原则。对他的工作成果,既不申请专利,也不征收版税。如今已经有无数人因为互联网而发财,而伯纳斯—李仍旧是麻省理工学院(MIT)的一名并不富有的教授。
蒂姆·伯纳斯—李(Tim Berners-Lee),1955年生与伦敦,万维网之父或互联网之父
在伯纳斯—李研究WWW的同时,一个名叫林纳斯·托瓦兹(Linus Torvalds)的小伙子正在芬兰的赫尔辛基大学计算机系读书。他对操作系统颇有兴趣。为了能够更多地利用他刚买到386个人电脑,他开始尝试写操作系统。他起初把这个项目叫做Freax,是Free(免费)和Freak(疯子)的组合。最后一个字母X表示这是一个和UNIX相似的操作系统。但是他的同学觉得这个名字不好听,就索性改为了Linux,意思是Linus的UNIX。1991年,Linux的第一个版本发布。托瓦兹承认,他当时编写Linux只是出于好玩而已。如今,Linux操作系统成为了主流,占据着互联网服务器的主要份额。
林纳斯·托瓦兹(Linus Torvalds),1969年生与芬兰,赫尔辛基大学计算机硕士
托瓦兹为Linux操作系统选择的吉祥物是一只小企鹅。这里面有个故事。有一次他在澳大利亚的动物园时,被一只小企鹅嘬了一下。他开玩笑地说,之后他便得了一种“企鹅病”。晚上睡不着觉时,便会特别想念企鹅,感受着对企鹅的爱。Linux的这个企鹅有个名字,叫塔克斯(Tux)。既是Torvalds UniX 的缩写,又是是晚礼服(Tuxedo)的缩写(企鹅是不是很像穿着晚礼服的样子),十分巧妙。这个企鹅的特点是它刚刚吃饱了饭,懒洋洋地坐在那里发呆,憨态可掬。
Linux操作系统的吉祥物克斯(Tux)
虽然伯纳斯—李发明了WWW网站,但他设计的浏览器并不怎么好用,主要使用对象还是计算机技术人员。在国家超级计算应用中心(NCSA - National Center for Supercomputing Applications)工作的马克·安德森(Marc Andreessen)肯定也意识到了这点。于是他和Eric Bina设计并开发了一个基本上只需要鼠标就可以操作的Mosaic浏览器。Mosaic1.0于1993年4月22日发布。从下图可以看出,Mosaic浏览器已经具备了现在浏览器的大部分功能。它有网址(URL)的输入框和网页标题。甚至连后退,前进,刷新,主页等功能,都和现在的浏览器一模一样。1993年底,Mosaic浏览器的用户已经超过百万。很多学者认为,Mosaic浏览器是互联网用户爆炸式增长的主要原因。可不是嘛!现在电脑上只要有一个浏览器,几乎就可以做所有的事情了。相反,如果没了浏览器,电脑好像也没什么用了。因此,马克·安德森被公认是浏览器之父。
Mosaic浏览器
1994年,安德森创建Netscape公司,在Mosaic浏览器的基础上,开发出来了Netscape浏览器Navigator。Netscape浏览器曾一度占据80%的市场份额,对微软产生了巨大的威胁。微软当然不能坐视不管。他们采用和Netscape相同的方法,从伊利诺伊大学那里获取了Mosaic的源代码开发权,于1995年开推出IE浏览器,与Netscape公司展开了历史上著名的浏览器大战(Browser War)。在微软的强大攻势下,Netscape的市场份额逐渐被IE蚕食,最终剩下不到1%。后来Netscape公司卖给了美国在线。安德森又创建了Loudcloud,Opsware公司,分别被EDS和惠普公司收购。
马克·安德森(Marc Andreessen),1971年出生。UIUC计算机学士学位。
过去的网络软件都是基于CS架构,即客户端-服务器(Client-Server)模式。它要求用户下载了客户端程序以后,才能使用。比如很多炒股软件。而现代互联网的应用是基于BS架构,即浏览器-服务器(Browser-Server)模式。由于几乎所有的电脑都配有浏览器,用户不必下载任何软件就可以使用。这使得互联网应用在客户端的阻力几乎为零。在浏览器-服务器(Browser-Server)模式下,显然浏览器和服务器是两个最关键的因素。Netscape公司曾经不但控制着浏览器市场,而且是最主要的web服务器制造商。但是好景不长。
1995年,阿帕奇服务器(Apache HTTP Server)问世。由于它是基于Linux操作系统的开源软件,很快流行。到了1996年便已经是最流行的Web服务器了。这个领先地位一直保持至今。2009年2月份时,全世界49%的网站使用着阿帕奇服务器。有关阿帕奇(Apache)这个名字的来源有2种说法。据阿帕奇官方网站称,“阿帕奇”是一个美国土著印第安人部落的名字。这个部落以耐力和技能而著称。取这个名字是出于对他们的敬仰。另一种说法则是最初的版本是NCSA httpd的一个补丁,它的英文发音(a patchy server)和阿帕奇服务器(Apache server)相同。无论如何,阿帕奇服务器无疑在互联网发展中起到了非常重要的作用。
本系列(漫谈互联网历史)的第六篇讲述了在七,八十年代,计算机语言如何在硬件软件的快速提升下被进化和演变。没想到到了九十年代,互联网又成为了新一轮语言发展的源动力。
1995年5月,Netscape公司发表声明,同意将SUN公司的一项技术整合到Netscape浏览器中。凭Netscape当时的名气,任何一条与它相关的新闻都会被炒作,更何况是这么重要的举措。这个技术的名字叫Java,于是Java一夜成名。其实早在1991年,SUN公司就开始了一个名为“绿色”的项目,目的是开发一种新技术,可以移植到不同的系统上,进行分布式计算。领导这项技术的人是詹姆斯·戈士林(James Gosling)。戈士林开始管这个技术叫“橡树(Oak)”,因为他办公室外面种的就是橡树。到了1994年,互联网开始流行。SUN公司借机把这个语言定向在互联网。当他们发现Oak技术已经被注册以后,便改名为Java。Java能够被快速地大规模推广,一部分归功于Netscape公司。但主要原因还在于它自身的优越性。Java技术最核心的部分是Java语言。它的语法类似与C/C++语言,让那些写C/C++的程序员很容易上手。但不同的是其背后的Java虚拟机(Java Virtual Machine)。虚拟机使Java不但可以运行在不同的操作系统上,而且可以自动回收垃圾(内存空间),大大降低程序员的编程难度。在七,八十年代,程序员都将C语言创始人丹尼斯-里奇(Dennis Ritchie)视为上帝。九十年代以后,绝大部分程序员顶礼膜拜的神变成了詹姆斯·戈士林(James Gosling),Java之父。戈士林目前仍然在SUN公司工作。
詹姆斯·戈士林(James Gosling), 1955年生于加拿大,美国卡内基梅隆大学计算机博士
1995年,一个叫Rasmus Lerdorf的丹麦程序员在用Perl程序编写个人主页的时候,为了更快地写动态页面(即页面中嵌入动态数据,比如时间等),开发出了一种新语言叫PHP,意思是Personal Home Page。由于PHP可以很方便地写动态页面,很快就流行起来。Rasmus Lerdorf后来也被称为PHP之父。他从2002年开始一直在美国雅虎工作,曾经来过中国,参加了首届中国网络工程师侠客行大会,并做了题为“PHP on hormones”的主题演讲。
Rasmus Lerdorf,1968年生,PHP语言创始人
虽然Rasmus Lerdorf是PHP的创始人,但是今天大家普遍使用的PHP语言却不是当初的PHP语言。最初的PHP只经历了2个版本,PHP和PHP 2。
1997年,两位以色列程序员Zeev Suraski和Andi Gutmans重写了PHP的编译器,发布了PHP 3。PHP 3和Rasmus Lerdorf的PHP 2除了语法上相似之外,可以说是完全两种不同的编程语言了。为了以示区别,这两位以色列程序员把PHP的意思改为“PHP: Hypertext Preprocessor”,一个只有计算机工程师可以理解的递归解释。PHP现在已经发展到了PHP 6。
Zeev Suraski,以色列程序员,PHP3创始人之一
Andi Gutmans,以色列程序员,PHP3创始人之一
目前在web编程领域内,主要的三大阵营是Java,PHP和.NET。.NET和Java的理念几乎相同,是微软公司仿照Java技术推出的web编程框架和一系列开发工具。
现代互联网可以说诞生于1991年蒂姆·伯纳斯—李(Tim Berners-Lee)的第一个网站。之后的短短3-4年时间,客户端软件(即浏览器),服务器软件(即Web服务器),操作系统,和新型的计算机语言相继出现并快速成熟。该做的都做了。自上一世纪工业革命以后,最大的商业革命即将爆发。一批伟大的互联网公司即将诞生。