导火线
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. kafka基本原理学习

    下载安装地址:http://kafka.apache.org/downloads.html  原文链接:http://www.jasongj.com/2015/01/02/Kafka深度解析 Kafk ...

  2. psql-02基本语法

    客户端 数据库: 创建:createdb mydb; 删除: dropdb mydb; 连接: 连接: psql mydb; 断开连接: \q 查看当前版本: select version(); 直接 ...

  3. event 内存泄漏

    组长说用event有内存泄漏的隐患..做个测试. 预留

  4. Python学习笔记10

      1.函数式编程   理论就来自lambda演算,虽然没有学过lisp,一直被其大名震撼. 特性: 函数是以一等公民 可以作为参数 可以作为返回值 具有闭包特性   1.1参数传递方式 一般参数传递 ...

  5. Python 学习笔记01

      print:直接输出 type,求类型 数据类型:字符串,整型,浮点型,Bool型     note01.py # python learning note 01   print('Hello w ...

  6. Eclipse: How to Navigating Java call stack in Eclipse

    Link: http://stackoverflow.com/questions/3256369/navigating-java-call-stack-in-eclipse 解决方法: In the ...

  7. 推荐一些mac 系统软件

    1. rightzoom http://www.macupdate.com/app/mac/30591/right-zoom 最大化快捷键设置 2. blotter 桌面日历,透明 3. AquaTe ...

  8. 51Nod 1001 数组中和等于K的数对 Label:Water

    给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对.例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0 ...

  9. Android -- 简单的图片浏览器

    1. 效果图

  10. 【bzoj2179】FFT快速傅立叶 FFT模板

    2016-06-01  09:34:54 很久很久很久以前写的了... 今天又比较了一下效率,貌似手写复数要快很多. 贴一下模板: #include<iostream> #include& ...