浏览器背景篇
-
重量级人物Berners-Lee(W3C组织理事),他于80年代后期90年代初期发明了世界上第一个浏览器WorldWideWeb(后改名为Nexus)。
-
重量级人物Marc Andreessen,由Marc Andreessenn团队开发的Mosaic诞生,这就是后来鼎鼎大名的网景浏览器(Netscape)。获得了世界范围内的成功,在其巅峰时期,占据了绝大多数市场份额。
-
IE浏览器,受Mosaic影响 1995年由微软推出,自此第一次浏览器大战正式打响。IE浏览器得益于Windows操作系统,获得了空前的成功,取代了网景Netscape。
-
Firefox火狐浏览器,处于低谷的网景公司在1998年成立了mozilla基金会,开始凤凰涅槃。在该基金会的推动下,网景公司主导推出了 著名的开源项目火狐浏览器(Firefox),在2004年发布了1.0版本,拉开了 第二次浏览器大战的序幕,这次大战影响深远。受益于IE浏览器发展较为缓慢,Firefox浏览器推出的(丰富功能,众多扩展),因此市场份额一路飙升。
-
safari浏览器,2003年(Firefox发布1.0的前一年), 苹果发布了Safari浏览器,并在2005年释放了浏览器中一种非常重要部件的源代码,发起了一个新的开源项目WebKit(Safari浏览器内核),因此拉开了新的序幕。 同时,随着移动端操作系统和移动互联网的兴起,苹果同样推出了Safari浏览器的移动端,引入了众多令人激动的功能和强大的用户体验,开启一个新的里程碑。
-
Chrome,2008年Google公司以苹果开源WebKit作为内核,创建了一个新的项目Chromium (本省就是一个浏览器),该项目的目标是创建一个快速、支持众多操作系统的浏览器(包含移动操作系统的支持)。在Chromiun的基础上,Google发布了自己的浏览器产品Chrome。Chromium是开源试验场,它尝试很多创新并且大胆的技术,当这些技术稳定后,Chrome才会把他们集成进来,其次Chrome还会加入私有的编码解码器以支持音视频等,再次Chrome还会整合Google众多的网络服务。
-
桌面系统, IE、Firefox、Chrome成为了桌面系统上最流行的三款浏览器(三足鼎立)。
-
移动端系统, 由于苹果的IOS操作系统和Google的安卓系统占据了绝对的领先地位,因而Safari和安卓浏览器非常流行。他们都是基于苹果发起的浏览器内核项目 WebKit。
浏览器特性
重要特性介绍:
-
网络:浏览器通过网络模块来下载各种各样资源,非常重要,特点耗时比较长、需要安全访问互联网的资源。
-
资源管理器:从网络或则本地获取资源,请将它们管理起来,需要高效的管理机制。例如:如何避免重复下载资源、缓存资源等,都是它们需要解决的问题。
-
网页浏览:这是浏览器核心也是最基础、最重要的功能。它通过网络下载资源并从资源管理器获取资源,将它们转换为可视化的结果。
-
多页面管理:支持多个页面同时加载,这让浏览器变得更为复杂,同时如何解决多页面的相互影响和安全等问题也非常重要。为此,需要浏览器做大量的工作。例如:可能使用线程或进程来绘制网页。
-
插件和扩展:现代浏览器的一个重要特征。不仅仅用来显示网页,而且能支持各种形式的插件和扩展。插件是用来显示网页特定内容,而扩展则是增加浏览器新功能的软件或压缩包。
-
账号和同步:浏览器的相关信息,例如历史记录、书签等信息同步到服务器,给用户一个多系统下的统一体验,这对用户非常友好,是浏览器易用性的一个显著标识。
-
安全机制:提供一个安全的浏览器环境,避免用户信息被各种非法工具窃取和破会。
-
开发者工具:对网页开发者来说意义却非比寻常。可以帮助审查HTML元素、调试JavaScript代码、改善网页性能等。
其他一些特性:书签管理,历史记录管理,设置管理,下载管理,隐私管理,外观管理等等
HTML
概念:
一种超文本标记语言,用于网页的创建和其他信息在浏览器中的显示。它的语法比较简单,基本上是一系列的标签(元素)。
**版本升级: **
HTML1.0由著名的Berners-Lee(前面提到的第一个浏览器发明者)于1991年提出,后面经历了多次版本更新,直到1997年的4.0版本和1999年的4.01版本。1999年 ~ 2012年,规范组织对新规草案的争论分厂激烈。终于,2012年,HTML5 由 两大组织(WHATWG 和 W3C, 有着不同的目标,感兴趣具体自搜)推荐为候选规范。
HTML5是一系列新技术的集合,其构建思想和前瞻性远远超过之前的规范,将更为令人耳目一新的技术带入到了web领域,意义深远。更描述了崭新的HTML5技术作为一个平台所需要的的能力。
HTML5标准包含10大类别:
- 离线:Application cache, Local storage, Indexed DB, 在线/离线事件
- 存储:Application cache, local storage, Indexed DB,等
- 连接:Web Sockets, Server-sent事件
- 文件访问: File API, File System, FileWriter, ProgressEvents
- 语义:各种新的元素,包括Media,structural,国际化,Link relation,属性,form类型,microdata等方面。
- 音频和视频: Video,Audio,WebRTC,Video track等
- 3D和图形: canvas,svg,webgl,2d/3d css变换等
- 展示:css3 2d/3d变换, transition变换,webfonts等
- 性能: Web Worker,HTTP caching等
- 其他: 触控和鼠标,shadow dom,css masking等
Javascript、css、html、http的关系
HTML历史早期,网页内容是静态的,致使难以满足各种各样的现实需求。随后Javascript脚本语言就此诞生了,该语言是EMCAScript规范的一种实现(node也是基于该规范)。最初还有其他的网页脚本语言,例如:JScript。 HTML5中很多规范都是基于Javascript语言来定义的。
HTML早期,网页不仅是静态的,而且表现形式非常固定和简单。因此,网页第三次革命性成果诞生,就是Css,也就是级联样式表。这一技术是的内容和显示分离开来,对页面开发来说,极大的增强了显示效果并提升开发效率。
http技术,这是一种构建在TCP/IP之上的应用层协议,用于传输 HTML 文本和所涉及的各种资源,包括图片、多媒体等。随后安全版 https 诞生,它在 http 之下加入 ssl/tls, 用于安全地传输数据。