一, 浏览器大战:
80年代后期90年代初期, Berners-Lee 发明了第一个浏览器WorldWideWeb(后改为Nexus), 并1991年公布了源代码, 支持HTML标记语言;
1993年Mosaic 浏览器诞生, Marc Andreessen 领导的团队开发出来的, 就是后来的 网景NetScape 浏览器; 只支持静态的HTML, 没有javascript , 没有CSS。
1995年IE浏览器推出, 第一次浏览器大战大象, IE胜出;
1998年网景公司成立Mozilla基金会, 推动力开源项目 firefox火狐浏览器, 在2004年发布1.0版本, 拉开了浏览器 第二次大战,
2003年评估发布safari浏览器, 并2005年开放了非常重要部件的源代码, 发起了一个新的开源项目webkit。
2008年, Google公司以苹果开源项目webkit作为内核, 创建了一个新的项目Chromium, 并发布了自己的chrome浏览器。
IE, Mozilla的火狐浏览器 和 google chrome成了桌面操作系统上最流行的三款浏览器。 三者占用率90%的浏览器份额。
二, 浏览器特性
浏览器的一些重要功能:
1, 网络: 浏览器通过网络模块下载各种各样的资源, 例如HTML文本, javascript代码,样式表, 图片, 视频等等; 耗时长 并且要 安全访问互联网上的资源;
2, 资源管理: 把下载的资源管理起来, 比如避免重复下载, 缓存资源的等
3, 网页浏览: 是核心也是最基本, 最重要的功能。 将下载并管理的资源 转换为可视化的结果。
4, 多页面管理: 需要支持国歌网页同时加载, 需要解决多网页的相互影响和安全等问题。
5, 插件和扩展:
插件: 是用来显示网页特定内容, 如teletext等; 比如NPAPI插件, PPAPI插件, ActiveX插件等等
扩展: 则是增加浏览器新功能的的软件或压缩包, 比如Firefox 扩展 chrominum 扩展。
6, 账户和同步:
将浏览器的相关信息同步到服务器, 比如历史记录, 书签等信息;
7, 安全机制: 提供一个安全的浏览器环境, 避免用户信息被各种非法工具窃取和破坏。
8, 开发者工具:
网页开发者非常有用, 比如一个优秀的开发者工具可以帮助审查HTML元素, 调式JavaScript代码, 改善网页性能等。
9, 多操作系统支持:
包括桌面与移动两个领域;
三, HTML(HyperText Markup Language)
HTML1.0, 1991年, 提出, 1997年4.0 版本, 1999年4.01版本;
HTML5 技术: 2012年, 有WHATWG与W3C 推荐为候选规范, 2014年标准化通过;
HTML5包括了一系列的标准, 一个包括了10个大的类别:
1, 离线 offline:
Application cache, Local storage, Index DB, 在线/离线事件
2, 存储storage:
Application cache, Local storage, Index DB等
3, 连接connectivity:
Web Sockets, Service-send事件
4, 文件访问 file Access:
File API, File System, Progress Events;
5,语义 semantics:
各种新的元素:Media(videotag, MSE), structural, 国际化, Link relation, 属性, Form类型, Microdata等方面;
6, 音频和视频 audio/video
HTML5 Video, HTML5 Audio, WebRTC, Video track等
7, 3D和图形 graphics:
Canvas 2D, 3D CSS变换, WebGL, SVG等
8, 展示presentation:
CSS3 2D/3D变换, 转换transition, WebFonts 等
9, 性能 performance
Web worker, HTTP caching等
10, 其他
触控和鼠标, Shadow DOM, CSS masking等
早期HTML的网页内容是静态的, 后来JavaScript语言(EMCAScript)诞生了, 网页可以动态变化了。
CSS: 使得内容和显示分离开来, Cascanding Style Sheet 级联样式表
HTTP: 0.9, 1.0, 1.1, 2.0; 是TCP/IP之上的应用协议, 用于传输HTML文本和所涉及的各种资源, 包括图片与多媒体等, 随后,安全版的HTTP也就是HTTPS诞生,
HTTPS: 在HTTP之下加入SSL/TLS, 用于安全地传输数据;
四, 用户代理 和浏览器行为
用户代理 user agent, 是个奇怪的东西,其作用是表明浏览器的身份, 服务器根据useragent能够支持什么样的功能, 发送不同的网页内容; 例如chrome 的桌面版 以及 android 版发送不同的网页内容以适应屏幕和操作系统的差别。
例如: Mozilla/5.0(Linux; Andorid4.0..4; Galaxy Nuxus Build/IMM76B) AppleWebKit/535.19(KHTML, like Gecko) Chrome/18.0.1025.133 Safari/535.19
设置useragent, 方法一:
# chrmoe --user-agent="xxxxx";
方法二:
开口chrome开发者工具--》点击右下角, 单击设置-》选择 覆盖 选项 -》 单击 用户代理 框, 来设置新的用户代理;
这些设置不会被保存, 重启无效!!