当前位置: 首页 > news >正文

互联网史上最伟大的12个网络应用和软件

互联网史上最伟大的12个网络应用和软件

  自1993年第一个网页浏览器Mosaic推出以来,我们所知道的12个最伟大的网络程序是什么?以下是InformationWeek网站评出的结果。

  网络软件的历史相对软件的历史来说显得短暂很多。现代因特网始于1993年,当时第一个网页浏览器Mosaic正式推出。要评出12个最好的网络软件并非易事,所以最保险的还是从网页本身开始考虑。

  在1990年,当世界上第一个网站在瑞士的欧洲粒子物理研究所(CERN)粒子加速器站点投入使用时,网页是一个加载到服务器上的软件程序。

  万维网创始人Berners-Lee着手简化了服务器与客户端间的复杂关系,通过实现一些简单标准就可以把散落在世界各地的信息进行共享。当初网络给先进的电脑处理造成不少障碍,但后来出现的软件成功的避开网络的限制并充分利用了因特网的优点:简单、低成本和覆盖面广。这些也作为判断网络重大突破和那些显示网络如何真正被利用的软件的标准。

  最简单的例子就是用Perl和C混合编写的Hotmail,它并不算是一个复杂的软件。事实上,最初的网页邮件还是显得比较笨拙。Hotmail具有一个非常出众的特性:它的用户界面非常简单易用。Hotmail推出17个月后,以4亿美元的价格出售给微软。

  

   当初的Hotmail

  与此类似,美国在线也推出了一项名叫Instant Messenger的免费服务,一种全新的沟通方式由此而诞生。即时通讯工具在此前联网的Unix服务器上就已经存在,程序员通过它来确保某个项目为最新版本。当时针对Commodore 64和128 PC提供在线服务的Quantum Link推出了一项新的在线服务:Online Messages。Quantum Link就是后来的AOL美国在线,而Online Messages就是IM,而这都已经是网史。

  

  即时通讯工具AIM

  简洁是网络软件的一大特征。虽然国外很出名的在线分类广告系统Craigslist的底层Perl开发代码就有10万行,但是它的界面看起来非常的简单。Craigslist看起来比报纸的分类广告要呆板一些,都是简单的文字标题。但就像分类一样,人们就算完全不懂网络也能够使用Craigslist。它是众多允许用户上传个人内容的网站之一。

  Craigslist非常吸引用户,据网络流量测量公司Alexa的数据显示,Craigslist的浏览用户平均浏览20个页面才离开。Craigslist平均每月新增2000万个广告,6000万个论坛帖子。在Alexa的全球网站排名中,Craigslist名列第40位。

   

  Craigslist首页

  虽然像eBay、Google、微软和雅虎等都进入了在线分类广告系统领域,但Craigslist的商业模式使得它仍然一枝独秀,保持2200万到2300万美元的年收入。

  伟大的网络软件不只是吸引流量。其中一个决定性因素是它能带来创新、新功能,或者说会为数百万用户带来全新的服务。

  搜索就是这样,并且不少用户认为创新方面首推Google。但Google并没有发明搜索的关键特征,这些特征是:对整个网络进行索引,以并行方式进行访问并非常快速的把结果反馈给用户。虽然所有这些都与Google密切相关,但首先体验这些特征的是Digital Equipment公司的AltaVista搜索服务。

  在1995年AltaVista推出之前,已经有若干搜索引擎,它们分别是Excite、Infoseek和Lycos。当初,所有搜索引起都面对网络几乎不可预知的屏障:它究竟有多大?并且捕获某个网页内容的索引还与索引完成的时间息息相关。

    

  AltaVista首页

  早期的搜索引擎利用网络爬虫程序来访问URL,通过它来抓去网页的页眉和标题,并把这些信息进行组织后存放到中央服务器。但网络爬虫在对某个站点发出请求后要等几秒才能收到响应。最理想的情况下,搜索引擎一天可以完成对数万个网站信息的收集。而12到14天之后,搜集到的信息一定程度上就会“过期”。此外,当爬虫访问后网页也有可能会改变,而且它也会错过部分网页。所以对于这时期的网络爬虫来说,百万级网页已经是极限。

  Digital的先驱,现任职于Google的Monier后来开发出了多线程爬虫Scooter,它运行在先进的64位Unix服务器上。Scooter在ping了某个站点后不必等它响应并继续ping其它站点,它会跟踪每个调用并作为一个独立的线程进行响应。其它的爬虫程序一次只能处理某个站点,而Scooter一次就能访问上千个站点并收集相应的信息。Scooter不但能收集到页眉和页面,还能够收集到完整的网页。Monier表示,AltaVista对网页的索引首次覆盖到整个网络。

  Scooter首次爬行活动就找到了1600万个网页,当时来说是个非常惊人的数字。而在两个月后的第二次爬行找到了2500万个网页。从AltaVista可以折射出网络的快速增长。据Netcraft 4月的调查显示,现在全球共有1.14亿个活动站点,并且每个站点都有成千上万个子网页。

  AltiVista的搜索页面可以到这里访问。

   以下出场的对网络的贡献也非常的大,但它甚至还不如AltaVista有名,它就是XMLHttpRequest对象。

  XMLHttpRequest在1999年作为微软IE 5.0的一部分首度亮相。在XMLHttpRequest出现之前,浏览器只能进行静态显示,就像一个哑巴终端窗口。数以百万计的用户看到的都是同样的网页,没有任何一个网页像现在一样是针对用户定制的。

  XMLHttpRequest的出现改变了这种状况。最初出现的是ActiveX控件,它为浏览器和服务器间开辟了后台通讯的渠道,数据通过后台进行传输。而在XMLHttpRequest出现之前,用户想获得不同数据的唯一方式只有访问不同的网页。

  随着2001年IE 6.0的推出,XMLHttpRequest开始作为一个更加通用的API以而不只是ActiveX控件出现。它遵循网络标准,并力求通过HTTP协议和只使用JavaScript(或微软的Jscript)进行浏览器编码使得数据在服务器和客户端之间以XML或动态HTML格式传输。

  这些API调用的模式成为了Google Map的基础,Google Map能够针对每个终端用户的地图信息请求进行响应。IE高级产品经理Pete LePage称其为“Web 2.0秘密的根源”。Google、Zimbra等都赶上了使用Request对象的大潮,其因特网的形态就是近来很热的Ajax。W3C委员会也正致力于使它成为一项标准。

  网络制裁复杂但嘉奖简洁。但它不只是嘉奖简洁的软件,那些内在复杂外在简洁的软件也会享受同等待遇。

  例子A:在1995年9月3号,程序员Pierre Omidyar某个人站点上开辟了AuctionWeb网站,他最初是想看看通过网络销售货物是否行得通。AuctionWeb就是现在有名的eBay,它提供的不但是使得用户可以在线销售物品的伟大软件,同时它还还把API开放给第三方的软件开发商来开发用于管理大量在线货物的工具。

  eBay拍卖网的易用性对新进入电子商务的新用户来说是最新强的推动力之一。每年有大约20亿件物品通过eBay流通,预计今年因此而获得的收入将有72亿美元。

   

  eBay首页

  例子B:在1995年推出的在线书店Amazon.com扩大了网络电子商务的能力,它使得购物车和检出的业务流程广泛流传。

  Amazon.com的亲和营销(专向特定社会团体成员推销产品或劳务)利用计算机强大的功能对存储在数据库中的购买者数据进行分析,并根据分析得出的结果有针对性的为用户推荐商品,这一成功的商业模式已经被其它很多网站仿效。

  虚拟社区

  1993年,Mosaic浏览器把万维网带到了数百万用户面前,同期Howard Rheingold写了关于他体验Well的文章:《虚拟社区》。Well在1985年推出,是Brand的Whole Earth Catalog的后续项目。

  Well是一个拨号虚拟社区,面向海湾地区。用户拨号登陆到论坛、讨论组和进行其它形式的电子化通讯场所。

  在Berners-Lee描述万维网之前出现的Well为什么能成为伟大的网络软件?因为它明显的促进了电子公告栏、讨论论坛和新闻组的革新并把它们带进形式更广的在线社区。当网络独自降临时,Well已经提供了现成的模型并验证了这类社区的生命能力。

  当备受敬仰的微软研究人员Jim Gray在旧金山出海失踪后,志愿者自发形成了一个社区,他们捕获并检查卫星数据来追踪Jim。虽然最终以失败告终,但是正因为这样通过网络聚集众多自愿者合作完成某件事的试想开始流行。

  说到虚拟社区,现在就有很多像Second Life一样的三维虚拟世界。像现有的很多三维多人在线游戏,玩家可以实时合作完成特定任务,其中声誉很高的要数暴雪在2004年推出的WOW魔兽世界,总玩家数超过了850万,而只在我国就有350万。

    

  魔兽世界

  现在,InformationWeek编辑列出了至此他认为最伟大的网络软件,以字母先后顺序排列分别为:AltaVista、Amazon、AOL即时通讯工具、Craigslist、eBay、Hotmail、XMLHttpRequest、Well和魔兽世界。

  利用网络合作收集知识并免费提供给读者的另一种形式是Wiki,其中最有名影响最大的Wiki就是Wikipedia。

  Wikipedia在2001年1月15号推出,底层的数据库为开源的MySQL数据库系统。其软件必须能够处理URL重定向并能支持数百万用户的访问量。它利用了开源Wiki创建系统MediaWiki的内容管理功能,MediaWiki用PHP编写并针对Wikipedia进行了优化。据Alexa在2005年的统计数据显示,Wikipedia在全球最受欢迎网站中排名37位。

  另一个利用群众智慧的例子是Digg网站。Digg的注册用户可以发布其它站点中他们认为感兴趣新闻的连接,读者可以通过点击“Digg it”按钮进行投票,得票越高的文章越置顶。

   Kevin Rose在2006年6月26号推出面向新闻的Digg站点,两个月后它就冲上最多用户访问站点的20位。

  现在最伟大的12个网络软件中,有11个已经露面,它们分别是(以降序排列):

  12.AOL即时通讯工具

  11.Digg

  10.Hotmail

  9.魔兽世界

  8.Wikipedia

  7.XMLHttpRequest对象集

  6.Amazon.com

  5.eBay

  4.The Well

  3.Craigslist

  2.AltaVista

  最后出场的,也是史上12个最伟大网络软件的第一名。

  Berners-Lee硬性的规定使得网络重返到简化的平台,并因此带出了新理念和新机遇。这个平台基于异步通讯,当某个系统空闲时就把消息传递给另外一个系统,而不必须传输时双方系统都空闲。在这个平台上,用户的会话是无状态的;使用HTTP协议的服务器能够快速的响应页面的请求,因此不必担心在每个访问或对每个网页的访问期间传输用户信息的问题。

  在开发出Craigslist、Hotmail或其它用户密集型站点之前,需要有软件能够快速处理数以百万计的HTML页面。它需要把新的HTTP协议转接到众多的后台系统中。

  这时Apache网页服务器出现了。大多数早期的网站管理员使用的都是NCSA的HTTPd服务器,它是由美国国家超级电脑应用中心开发的早期版网页服务器。但HTTPd服务器处理高流量时不够灵活,并且它需要更多API来与后台系统进行交互。

   

  Apache开源社区

  后来大家熟悉的Apache Group虚拟社区改进了原版的NCSA HTTPd服务器。在第二个版本中,Apache Group把这个服务器拆分成一系列的模块,这就形成了Apache网页服务器2.0。经过重新的设计使得不同的贡献者可以专著在服务器的不同部分而不会影响其他人。

  1998年,IBM宣布取消其自有的网页服务器的开发并开始为Apache Group作出贡献。IBM表示会把Apache集成到其WebSphere中间件中。IBM此举对在商业应用中采用开源软件起到了正面的影响并吸引了Apache的竞争对手微软的IIS服务器用户的注意。

  Apache是一个自愿参加的项目,在这里经验丰富的开发人员可以交换想法,打包作品,清除软件的bug并把完成的代码提交到集中管理系统中。

  至此,InformationWeek评选的史上最伟大的12个网络软件已经全部揭晓。当然,根据国内的情况,大家认为最伟大的12个软件肯定与以上列出的有所不同,这里就不作进一步的讨论了。

注:http://news.csdn.net/n/20070514/103995.html

相关文章:

  • python erp excel,Python——操作Excle
  • 做工作必须将心比心——感谢译者陈浩对我们的批评
  • php主题怎么增加导航页,WordPress主题中添加文章列表页页码导航的PHP代码实例,_PHP教程...
  • 在TCX中使用SQLite3
  • php linux 静态网页,(PHP学习笔记)实现页面静态化
  • 貌似生日的快乐
  • spring对jboss与weblogic的jms的支持不一样
  • php 银行家算法,银行家算法又被称为“资源分配拒绝”法,是一种()算法。A、死锁解除B、死锁避免C、死锁预防D、死锁检测...
  • 易语言字节集转php,易语言将下载地址解析转换成迅雷快车旋风的方法
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • oracle中软连接命令,深入理解硬链接和软链接 (转)
  • 人物散记:吴文虎教授,信息学奥赛和其他
  • oracle 设置动态变量,数据库优化技术之Oracle数据库动态绑定变量
  • C++专家荣耀5月22日下午2点作客51CTO专家聊天室
  • oracle connection reset,Oracle JDBC 连接卡死后 Connection Reset
  • 【Linux系统编程】快速查找errno错误码信息
  • Codepen 每日精选(2018-3-25)
  • Java多线程(4):使用线程池执行定时任务
  • JS函数式编程 数组部分风格 ES6版
  • Vim Clutch | 面向脚踏板编程……
  • vuex 笔记整理
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 程序员该如何有效的找工作?
  • 那些年我们用过的显示性能指标
  • 区块链将重新定义世界
  • 如何使用 JavaScript 解析 URL
  • 7行Python代码的人脸识别
  • kubernetes资源对象--ingress
  • 关于Android全面屏虚拟导航栏的适配总结
  • #define
  • #QT项目实战(天气预报)
  • #图像处理
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)c++ std::pair 与 std::make
  • (转)四层和七层负载均衡的区别
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .mysql secret在哪_MySQL如何使用索引
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 发展历程
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • //解决validator验证插件多个name相同只验证第一的问题
  • ??myeclipse+tomcat
  • @synthesize和@dynamic分别有什么作用?
  • [C#基础知识系列]专题十七:深入理解动态类型
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART
  • [Flutter]打包IPA
  • [idea]关于idea开发乱码的配置
  • [LeetCode] 596:超过5名学生的课