浏览器基础知识
HTTP协议的工作原理
• HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的 3位数字代码。它由 RFC 2616 x 消息
这一类型的状态码,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态 码,仅HTTP/1.1协议支持.
WML,HTML,XHTML
• XHTML,表现方式与HTML类似,不过语 法上更加严格。XHTML基于可扩展置标语 言(XML),XML是SGML的一个子集。 XHTML 1.0在2000年1月26日成为W3C的 推荐标准。
• XHTML的版本:
XHTML 1.0——发布于2000年1月26日,是W3C推荐标准,修订于2002 年8月1日重新发布。 XHTML 1.1,于2001年5月31日发布,W3C推荐标准。 XHTML 2.0,W3C工作草案。 XHTML 5,从XHTML 1.x的更新版,基于HTML 5草案, W3C标准.
• 2xx 成功
这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
• 3xx 重定向
301--永久跳转, 302-临时跳转, 303--See Other,同302,但如果是Post请求,后续要转为GET, 304--Not Modified, 307--临时跳转(仅处理Get请coding浏览器
• Transcoding技术 顾名思义就是转码技术,由于 上文提到的Wap协议的特性,使得传统的Wap浏 览器无法访问丰富的互联网资源,为了实现这个 目的,出现了基于转码的方案。
设 备 库
设备识别 内容转换 图形转换
图形管理界面
内容修复
WML,HTML,XHTML
• 超文本置记语言(HyperText Markup Language, 简称HTML)是为“网页创建和其它可在网页浏 览器中看到的信息”设计的一种置标语言。 HTML被用来结构化信息——例如标题、段落和 列表等等。 • HTML的版本:
HTML 1.0——在1993年6月发为互联网工程工作小组(IETF)工作草案 发布(并非标准). HTML 2.0——1995年11月作为RFC 1866发布. HTML 3.2——1996年1月14日 HTML 4.0——1997年12月18日,W3C推荐标准 HTML 4.01(微小改进)——1999年12月24日,W3C推荐标准
1.目录
• • • • 浏览器的发展历史 嵌入式浏览器分类 浏览器工作原理 Android Webkit简介
HTTP协议的工作原理
• HTTP协议的作用原理包括四个步骤: 连接:Web浏览器与Web服务器建立连接,打开一个称为 socket(套接字)的虚拟文件,此文件的建立标志着连接 建立成功。 请求:Web浏览器通过socket向Web服务器提交请求。 Web socket Web 连接 HTTP的请求一般是GET或POST命令。 TCP/IP 客 服 应答:Web浏览器提交请求后,通过HTTP协议传送给 请求 户 务 端 Web服务器。Web服务器接到后,进行事务处理,处理结 器 响应 果又通过HTTP传回给Web浏览器,从而在Web浏览器上 显示出所请求的页面。 关闭连接 关闭连接:当应答结束后,Web浏览器与服务器必须断开, 以保证其它Web浏览器能够与Web服务器建立连接。
嵌入式浏览器简史(二)
• 2007年在手机浏览器领域,WAP是主流的 标准。世界上掌握WAP浏览器核心技术的 厂商只有4家,分别是美国的Openwave (Motorola),瑞典的Teleca(Obigo), 日本的Access(Netfront)和韩国的 Infraware。
嵌入式浏览器简史(三)
WAP2.0与PROXY(一)
• 在Wap时代,代理服务器(Proxy Server)扮演 了重要的角色,Proxy是连接手机和传统意义 WWW网络的桥梁,Proxy的主要功能有如下几个 方面: 1.Web缓冲 2.安全功能 3.内容转换
PROXY的主要功能
• 安全功能
:8080 客户端 request: PROXY 检查sina是否在列表中 response:302 跳转:302
应 用 服 务 器
第三方内容
浏览器分类--Transcoding浏览器
• 近两年3G网络的普及及智能机的长度发展, 带宽和终端处理能力不再成为限制浏览器发 展的瓶颈。
浏览器分类--Transcoding浏览器
• 一是互联网应用的代码非常的不规范,国内网页尤 其突出,在内容转换过程中的兼容性是非常难保证 的。 • 二是网页上存在着大量的 脚本及动态应用 ,这时 依赖服务器的脚本识别也是非常难以达到实用的程 度,比如网银。 • 三是转换过程的失真问题,随着智能机的普及,过 度的转换、精简对网页的效果也会产生较大的失真, 反而影响了用户体验。
1.目录
• • • • 浏览器的发展历史 嵌入式浏览器分类 浏览器工作原理 Android Webkit简介
浏览器分类
• 手机浏览器的发展主要受制于用户终端和 带宽的影响,终端能力主要是屏幕大小和 处理器能力。 • 根据上述原则,嵌入式浏览器可以分为三 类,或者说发展的三个阶段 • 1. WAP浏览器 • 2. Transcoding浏览器 • 3. WEB浏览器
高速模式:Webkit 引擎,渲染快,安 全性好。 Mozilla Firefox本身是单 内核的,但支持第三方扩 展,能够实现IE和Firefox 两个内核自由切换浏览, 满足中国用户的需求 兼容模式:IE内核,兼 容性好,支持大多数IE 兼容网页。
浏览器引擎
Layout Release engine version Gecko KHTML Presto 2.7.62 1.9.2.14 Used by 系列, 包括Firefox, 所有的 Mozilla 系列 包括 , Thunderbird等 等 Konqueror Opera; Opera Mobile, Sony PlayStation Internet Explorer, Internet Explorer for windows mobile Google Chrome, Maxthon 3, Safari (Mac 版和IPhone版), Shiira, Android 版和 版 browser,Palm webOS browser, Symbian S60 browser。。。 。。。
通过IPhone推出了手机浏览器Safari,诺基亚则拥有基于 SymbianS60平台的Web浏览器。 二 是互联网企业,如谷歌、微软。近年来,谷歌和微软等巨 头纷纷加大了手机领域的开发力度。谷歌先是推出了 Android手机操作系统,而后又推出了手机浏览器Chrome。 微软则推出了移动版IE。 三 是专业浏览器公司(也称第三方浏览器公司),如优视动景、 Opera公司、Mozilla公司。国内手机浏览器公司优视动景 推出了手机浏览器UCweb,全球知名浏览器公司Opera则 推出了OperaMini和OperaMobile两款手机浏览器,另外, Mozilla公司也推出了手机版火狐浏览器Fennec。
浏览器工作原理
窗口 管理 书签 历史 记录 密码 管理
Application
Render引擎
DOM HTML
DOM EVENT Java Script 引擎
内核
DOM Core
XML/HTML Tokenizer/Parser
HTTP协议栈 TCP/IP协议栈
操作系统
浏览器内核工作流程图
网络 侧 数据
浏览器分类--Web浏览器
• 也称WWW浏览器或者桌面级浏览器 • 能在手机终端上提供更好的用户体验、更强 的功能扩展一直是各浏览器厂商矢志不渝的 方向。在第二代手机浏览器的概念上,并没 有太明确的定义,不过各方共同认可的一点 那就是完全依赖手机终端的能力,提供与 PC基本一致的上网体验的浏览器,才能称 为第二代的浏览器。实际上2007年以后,各 浏览器厂商基于这个想法就已经有了很多尝 试,不过真正把大家的眼球中到手机浏览器 上的非苹果的Safari莫属。
HTTP响应码(二)
Request
Response
何谓WML,HTML,XHTML
• Wireless Markup Language,缩写为WML, 是WAP规范指定的基于XML的基本内容格 式,使用支持该规范的设备例如移动电话 可以浏览WML的页面。 WML的页面是规范 的XML文档。 • WML的版本: 1.0, 1.1, 1.2(1998年), 1.3, 2.0(2001年)
XML/HTML 解析(分词)
构建DOM树
渲染 网页
Javascript 解析
窗口管理
浏览器的工作原理
• 浏览器内核 • 内核是浏览器工作的心脏 • 衡量内核好坏的标准: 1. 架构合理 Email Client Widgets 2. 渲染效率高
浏览器的工作原理(一)
• 支持多内核的浏览器-Maxthon
400--Bad request(语义或者参数有误), 401--Unauthorized,403--Forbidden,404 Not Found(404这个状态 码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下)
• 5xx 服务器错误
501--Not Implemented(服务器不支持当前某个功能),502--Bad Gateway,504--Gateway Timeout
:8080
客户端 request: PROXY 检查网页的Meta字段 response:302 跳转:302
WAP2.0与PROXY0与PROXY(三)
• 随后手机浏览器厂商都重点解决手机操作 系统的兼容性问题。以Opera为例,目前已 经开发了应用于各主要操作系统的手机浏 览器版本。支持OperaMini软件的手机类型 已经超过了40个厂商的674个型号。