2007年在手机游览器领域,WAP是主流标准.当时全球掌握WAP浏览器核心技术的公司大概只有4家:
美国的Openwave(Motorola);
瑞典的Teleca(Obigo);
日本的Access(Netfront);
韩国的Infraware;
手机上浏览器的实现架构分析:
UC, 最先推出C/S(客户端/服务器)处理架构,将主要数据处理内容交由中间件服务器去做,手机端只负责简单的数据加/解密以及页面重排展示,解放了软件对手机硬件的依赖.
Obigo浏览器, 直接在手机本地进行数据解析,对手机硬件性能以及网络状况依赖很大.
EMCS mBrowser, 直接在手机本地进行数据解析,对手机硬件性能以及网络状况依赖很大
Opera Mini,使用C/S架构,但软件对手机硬件有一定的要求.
NetFront, 直接在手机本地进行数据解析,对手机硬件性能以及网络状况依赖很大.
WAP浏览器架构和实现原理:
移动嵌入式设备的局限性:
由于嵌入式设备的CPU能力、屏幕大小、网络环境、内容容量限制等问题,手机上的浏览器的软件架构和实现要比PC复杂一些.
1.CPU:
一般的feature phone上的主频在104MHz或以上.因此要确保手持设备上的浏览器能够访问web,那么该浏览器应该能够工作在104MHz一下的主频环境.
2.内存:
目前的feature phone上的RAM配置一般是在4M RAM 和16~32M Nor Flash.
3.显示屏:
在mobile上,LCD都是比较小的比如:176X220 , 240X320等,现在的智能机很多都开始朝大屏幕发展.由于显示屏的大小的限制,那么UI排版方面就要根据具体的LCD大小做调整.
4.操作方式:
mobile上的浏览器操作方式已经从键盘操作方式开始往触屏方式演进了.因此对触摸屏gesture事件的支持是必须的.更有甚者还要达到多点触控的效果.
5.低功耗:
对电池的续航能力是一大考验.
移动嵌入式设备上浏览器的技术点剖析:
1.通信协议:
Feature phone上必须支持WAP协议[目前的WAP2.0],而且现在也必须要对HTTP协议的完全支持.如果有敏感数据的交互的话,需要使用SSL协议[secure sockets layer].
2.技术规范:
a. HTML的支持,未来看HTML5了, [超文本标记语言,Hypertext Markup Language];
b. CSS的支持,未来看CSS3了, [Cascading Style Sheets, 层叠样式表单];
c. XML的支持,支持DOM[Document Object Mode,文档对象模型],W3C 文档对象模型[DOM]是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口, 使用DOM接口便捷的访问XML;
d. JavaScript的支持,JavaScript是一种广泛用于客户端网页开发的脚本语言,最常是于HTML上使用,用来给HTML网页添加动态功能。
e. 图片和动画格式的支持, Jpeg,BMP,PNG,GIF 和Flash格式的支持;
f. POP3 和SMTP的支持,这个是可选功能;
目前流行的移动浏览器:
Opera/UC浏览器/腾讯浏览器/但是这几个都是Smart phone上的弄潮儿.
Feature phone上有:
Access EMCS WAP 2.0浏览器:
Teleca的 Obigo浏览器:
WAP网络架构图:
WWW模型:
传统浏览器的客户端服务模式:
WWW logical model
www programming model
WAP model:
WAP programming model
Feature/Performance-Enhancing Proxy
WAP Proxy提供了很多功能,包括:
1.Protocol Gateway, 协议网关翻译来自无线协议栈的request到WWW协议[HTTP和TCP/IP].网关同时也根据client请求的URL执行DNS查找服务名.
2.Content Encoder and Decoder, 内容编码被用来转换WAP内容为一种压缩格式,便于压缩后更好的利用下层链路.
3.User Agent Profile Management, 提交给应用程序的描述客户端的容量和性能的配置文件.
4.Caching Proxy, 通过维护频繁访问资源的cache,来提升性能和网络利用率的体验.
WAE模型:
WAE是基于无线通讯网络开发应用和服务的一个行业标准和规范,是一个在手持移动终端上被标记语言[包括WML和XHTML]、脚本、层叠样式表、电话服务以及编程接口使用的微型浏览器环境.
WAE Model
WAE环境架构:
从下图来看,WAE包含两个逻辑层:
1> User agents, which includes such items as browsers, phonebooks, message editors, etc;
2> Services and Formats, which include common elements and formats accessible to user agents such as WML,WMLScript, image formats, vCard and vCalendar formats, etc.
WAE Client Components
用户代理是在移动终端上用于解释和执行内容的软件。 WAE中的用户代理包括WML用户代理和WTA(无线电话应用)用户代理,当然也可以有对应于其他应用的其他用户代理。
WML用户代理,是基本的用户代理,支持WML和 WMLScript,可以向WAP网关发出请求,接收WAP网关发送过来的内容(WBXML或 WMLScript字节码),正确解释、执行并显示
WTA[Wireless Telephony Application] user agent, 是一组对电话呼叫和特征控制机制所做的特定扩展,向内容创建者和最终用户提供高级移动网络服务.
WML 用户代理逻辑架构:
WML User Agent Logical Architecture
WML 是WAP定义的一种XML文档类型,它以HTML 和HDML为基础,针对无线网络和移动终端的特点做了简化和优化,因此,从语法、语义到文档结构都与HTML非常相似.
在WAP中,一个WML文档称为一个“deck”,一个 “deck”内包含若干个“card”,“card”是用户浏览和交互的单元,包含了呈现给用户的信息以及用于收集用户输入的指令.
WMLScript 是用于 WML 页面的脚本语言;
WML 页面可以在 WAP 浏览器中显示;
WMLScript 用于验证用户输入、生成对话框、显示出错消息以及访问用户代理设备等等;
WMLScript在WAP浏览器运行之前,需要先在Server上编译成字节码;
WMLScript并不嵌在WML页面中,WML页面仅仅包含对WMLScript URL的引用;
WAP客户端架构:
WAP Client Architecture
WIM,Wireless Identity Module,包含设备标识符和加密信息,意味着
EFI,External Functionality Interface
WAP 详细架构:
WAP stack architecture
WAP1.x 和WAP2.0协议架构比较:
WAP1.x WAP2.0
现在基本上都是双栈架构.
浏览器工作原理:
浏览器的软件架构
现在开始看看WAP browser的架构:
WAP浏览器的软件架构
其实看上面两个架构其实很相似的,只是WAP浏览器多了WML的解析,以及WML script引擎.因为WAP的页面格式就是基于WML的,而且脚本语言是基于WML script的.
随着手机终端的硬件的不断提升,以及未来网络带宽的升级.WAP浏览器和PC端的浏览器差异会越来越小.
WAP浏览器的访问网络的过程:
1.设置接入点名称[APN]:
// APN,Access Point Name
AT+CGDCONT=1,"IP","CMNET" //通发送AT指令来设置移动网关的接入点
2.拨号
ATD*98# //通过PPP协议拨号连接, 连接成功后手机终端就可以访问网络了.
整个过程和PC拨号上网过程一样.
到此,关于WAP浏览器的实现原理和架构大概就这些.
分享到:
相关推荐
Feature phone的MTK编译环境在Win10下安装,内含说明文档。
Feature.js 是一个快速、简单、轻量级的浏览器特性检测库。它没有依赖,而且被压缩的仅 1kb。Feature.js 会在页面加载时自动初始化,但在初始化过程中不运行任何测试,只有在你发出请求时才运行,所以它的反应很快。...
Feature Phone MultiDownload Software Ver1000(通用)--中文网站版本
win 10 LTSC 2019 mtk feature phone 需要的perl版本 ActivePerl-5.14.2.1402-MSWin32-x64-295342
高通camera chi-cdk feature2框架介绍
Feature.js是一款轻量级的浏览器特性检测JavaScript库插件。该插件运行速度快,使用简单,文件只有1kb大小。通过Feature.js你可以检测客户浏览器是否支持某些特性,并针对这些特性编写代码。
利用GxDialog 实现要素集featuredataset 和要素类featureclass的任意选取加入
本项目基于 hifocus/merger 上开发,在项目基础上实现的 Feature: JSON 文件轻松配置 三分钟搭建自己的捐赠页 所有文案表述全部走配置,在 JSON 中自定义全部文案 适配移动端,支持最完善的直接调起功能 网页加载...
云视_Phone_Feature_2016_1.0.0_20160328.xlsx
SNAT实现方法output_feature_interfaces
Feature_selection matlab
Feature Manipulate Engine安装方法
Cisco Feature Cisco Feature Cisco Feature Cisco Feature
最新的feature matching算法
feature转化为Json对象,有时我们需要用CallbackResult把feature对象转换成json,然后在客户端做处理
计算机视觉项目实战(二)、局部特征匹配Local_Feature_Matching配套素材资源和代码,项目详解见本人博客https://blog.csdn.net/Accelerato/article/details/105577679
A Discriminative Feature Learning ApproachA Discriminative Feature Learning ApproachA Discriminative Feature Learning ApproachA Discriminative Feature Learning ApproachA Discriminative Feature ...
范例使用SuperMap iClient 6R for JavaScript开发模式,实现给Feature对象设置文本风格
特征Feature 允许您以新的方式定义您的软件。 它只涵盖了软件创建过程的一部分。 功能从高级算法开始,一直到最小的实现细节。 功能不会在幕后隐藏任何神奇的银弹。 这些原则都是公开的。 必须处理项目的复杂性才能...