导火线
1992年,有一家公司Nombas 开发了一种叫C--的嵌入式脚本语言,后来觉得名字比较晦气,最终改名为scriptEase.而这种可以嵌入网页中的脚本的理念,成为日后移动互联网蓬勃发展的一块重要基石。

第一次浏览器大战!爆发!!
1994年12月,网景通信公司发布了NetScape Navigator 1.0 ,
1995年微软公司发布了InterNet Explorer1.0 和 2.0.
紧随其后的是现在依然成为web服务器标准之一的Apache。当时它以Apache0.2的姿态出现在世人面前。而Html也发布了0.2版本,那一年,web技术的发展突飞猛进。

时光荏苒,从1995年左右开始,微软公司和网景公司为了抢占市场份额,分别对自家公司的浏览器的HTML做了扩展,不仅对当时正处于发展中的web标准化视而不见,还屡次出现了新增功能和特性却没有相关的文档说明的情况。以至于当时的前端开发者必须考虑兼容他们两家的浏览器。时至今日,兼容性这个问题仍然是前端工程师棘手的问题!!

初代JavaScript 诞生!!
1995年,当时工作在Netscape(网景)公司的布兰登(Brendan Eich)为解决类似于“向服务器提交数据之前的验证”的问题。在Netscape Navigator 2.0 与 Sun 公司练手开发一个称为 LiveScript 的脚本语言。为了营销便利,之后更名为JavaScript(目的是为了抱住当年最风光最流行最热门的JAVA这条大腿)

不要脸的小三
由于 JavaScript 1.0 大获成功,所以微软(Microsoft)当即决定进击浏览器行业。为此发布了IE3.0并搭载了一个JavaScript 的克隆版本。叫JScript。即我们现在使用的Javascript.(这样的命名是为了避免与NetScape产生利益纠纷。大概就类似于加多宝和王老吉吧)。

小插曲:
由于比尔盖茨是VB语言出身的,所以旗下所有的产品几乎都VB化一遍,由此也提供了VBScript。
目的是希望让开发者可以用VB来开发服务端语言,同时也用VB开发客户端脚本语言(和今时今日大热的Nodejs想法大体一致,想通过一门语言统领前后端,结局也是一致的)
但由于它是IE专属的客户端脚本语言,仅仅支持IE浏览器。所以结局可想而知

矛盾与冲突
在微软介入之后,有三种不同的Javascript版本同时存在(分别是scriptEase、JavaScript、JScript)。没有一个统一的标准,给当时的开发者带来巨大的挑战。随着业界担心的呼声增加,这个语言标准化已经势在必行!

ECMA
1997年,javascript 1.1 作为草案提交给欧洲计算机制造商协会(ECMA)。
由来此NetScaoe、Sun、微软、Borland 和 其他一些对脚本编程感兴趣的公司的程序员组成的TC39 锤炼出了ECMA-262。该标准定义了叫做ECMAScript的全新脚本语言。

灵敏的微软、迟钝的网景
虽然网景开发了JavaScript 并 首先提交给 ECMA 标准化。但因计划改写整个浏览器引擎的缘故,网景晚了整整一年才推出“ECMA规范”的 JavaScript 1.3 。 而微软则早在一年前就推出了IE4.0并且完全遵循了“ECMA 规范”。

小三变原配
由于 微软的Windows 绑定着Ie浏览器并且几乎占据了全部的市场份额,因此,在1999年之后,所有的网页都是基于JScript来开发的。JScript 成为了 JavaScript 语言的事实标准。
微软的 JScript 成为了 我们今日的Javascript.
网景公司大势已去!! 渐渐退出历史的舞台

第一次浏览器大战拉下帷幕
网景公司在微软强大的攻势下,1998年网景公司全面溃败。2000年前后,这场浏览器战争终于伴随着网景通信公司的衰落而暂告一段落。

二战的导火线 之 火狐崛起!!
Internet Explorer 浏览器的版本从 6升到7 前后花费了5年的时间

但就在2004年,Mozilla 基金会发布了FireFox浏览器。火狐浏览器在支持 Javascript 方面无可比拟,在后来的时间里一步步蚕食IE的市场份额,成为全球第二大浏览器厂商。

(据当时媒体报告中,在欧洲曾有一段时间里,火狐浏览器还超出了IE的市场份额。)

另外,Chrome、Opera、Safari等浏览器也纷纷占领市场份额!!

微软迫于此火烧眉毛的局势,采取的措施居然是连续不断地发布了8、9、10版本。
而这一举动不仅让IE被后来的前端开发者诟病唾弃(兼容性问题),也为未来衰落的迹象埋下伏笔。

第二次浏览器大战全面爆发!!

二战 之 谷歌的野心
它以简洁的页面,极速的浏览为特色,一举成为全球第三大浏览器。

二战 之 苹果的战略
Safari 浏览器是苹果公司各种产品的默认浏览器,在一体机(iMac)、笔记本(mac)、手机(iphone)、平板(ipad),并且在windows和Linux平台都有相应的版本。目前市场份额全球第四,但随着苹果的产品不断的深入人心、具有称霸之势

HTTP 战役 与 历史的更多相关文章

  1. RFM模型——构建数据库营销的商业战役!(转)

    RFM模型:R(Recency)表示客户最近一次购买的时间有多远,F(Frequency)表示客户在最近一段时间内购买的次数,M (Monetary)表示客户在最近一段时间内购买的金额.一般原始数据为 ...

  2. 【转帖】NET 的一点历史往事:和 Java 的恩怨

    NET 的一点历史往事:和 Java 的恩怨 https://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654068672&idx= ...

  3. 新东方集团K12公益免费课战役记

    作者:张建鑫, 曾任IBM高级软件架构师, 滴滴高级技术专家, 现任新东方集团高级技术总监 1月31日,集团领导决定由产品技术中心的新东方APP团队牵头做周一到周五的集团公益课, 提供给全国中小学生使 ...

  4. 从中间件的历史来看移动App开发的未来

    在移动开发领域我们发现一个很奇怪的现象:普通菜鸟新手经过3个月的培训就可以拿到 8K 甚至上万的工作:在北京稍微有点工作经验的 iOS 开发,就要求 2 万一个月的工资.不知道大家是否想过:移动应用开 ...

  5. 清空Github上某个文件的历史版本

    title: 清空Github上某个文件的历史版本 author: 青南 date: 2015-01-08 16:04:53 categories: [经验] tags: [Github,histor ...

  6. 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】

    由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...

  7. History API与浏览器历史堆栈管理

    移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构.传统的单页应用基于url的hash值进行路由,这种实现不存在兼容性问题,但是缺点也有--针对不支持o ...

  8. eclipse,myeclipse 误删文件,回滚历史文件操作

    昨天因为误操作把一个写了一上午的代码给删了,找到的这个,以前竟然还没发现有这个功能- -! 具体操作: 1.建立同路径同名的文件 2.文件上右键 --> Compare With --> ...

  9. Java泛型的历史

    为什么Java泛型会有当前的缺陷? 之前的章节里已经说明了Java泛型擦除会导致的问题,C++和C#的泛型都是在运行时存在的,难道Java天然不支持“真正的泛型”吗? 事实上,在Java1.5在200 ...

随机推荐

  1. Android简单自定义圆形和水平ProgressBar

    ProgressBar简介 继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar,其中AbsSeekBar的子类有SeekBar和RatingBar,可 ...

  2. jQuery方法注意事项

    1.关于选择器中含有特殊符号 选择器中含有".","#","(","]"等特殊字符,根据W3C的规定,属性值中是不能含有 ...

  3. DSP using MATLAB示例Example3.6

    代码: n = [-5:5]; x = (-0.9).^n; % x(n) = k = -200:200; w = (pi/100)*k; % [0,pi] axis divided into 101 ...

  4. AngularJS 验证

    AngularJS ng-model 指令用于绑定输入元素到模型中. 模型对象有两个属性: user 和 email. 我们使用了 ng-show指令, color:red 在邮件是 $dirty 或 ...

  5. 如何解决在Ue4编辑器中查看中文注释为乱码的情况

    一般人都会在自己定义的函数后面添加注释,Ue4会在蓝图编辑器中显示这些注释,这是一个相当棒的设定. 但是如果这些注释是中文的话,在蓝图编辑器中就会显示乱码. 如何解决呢? 只需要把你的文件用UTF-8 ...

  6. hdfs 集群间拷贝

    hadoop distcp -i hdfs://192.168.10.211:9000/fileinfo hdfs://192.168.24.46:9000/fileinfo distcp [OPTI ...

  7. bzoj1005 [HNOI2008]明明的烦恼

    1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3032  Solved: 1209 Description ...

  8. 【Oracle】表空间容量修改

    -- 查看表空间容量 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", ...

  9. Rock-Paper-Scissors Tournament[HDU1148]

    Rock-Paper-Scissors TournamentTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...

  10. Android MuPDF 阅读PDF文件

    MuPDF是一款轻量级的开源软件,可以用来阅读PDF文件.下载完源代码以后,想要运行成功,除了Android SDK之外,还需要Android NDK环境,因此有点麻烦. 但是一旦安装完必须的环境以后 ...