第7章无线应用协议WAP第1节WAP概述第2节WAP的网络结构第3节WAP协议体系第4节WAP的安全问题第5节WAPPUSH技术概述第6节WML/WMLScript第7节WAP网站建设初步作业要求第1节WAP概述7.1.1WAP的概念7.1.2WAP产生背景7.1.3WAP的设计目标7.1.4WAP的特点7.1.5WAP论坛7.1.6WAP体系结构7.1.1WAP的概念•WirelessApplicationProtocol,无线应用协议•是一个使移动用户使用无线设备(例如移动电话)随时使用互联网的信息和服务的开放的规范。•主要意图:使得袖珍无线终端设备能够获得类似网页浏览器的功能,其功能上有限。•WAP1.X规定无线设备访问的页面是用WML(一种XML方言)语言编写的,但是WAP2.0将XHTML-MP做为主要内容格式。7.1.2WAP产生背景•网络不断出现新的附加价值服务,移动用户有使用需求•直接连至现有有线网络,有特殊困难•手持无线设备的局限性•无线数据网络的限制手持无线设备的局限性•CPU处理能力有限•记忆体容量小•显示屏幕较小•输入方式不同(电话按键输入、语音输入、手写输入等)•无线接收天线频宽受限无线数据网络的限制•无线网络的带宽较低•时延较大•无线网络的稳定性较差7.1.3WAP的设计目标•基于Internet中广泛应用的标准(如HTTP,TCP/IP,SSL,XML等),提供一个对空中接口和无线设备独立的无线Internet全面解决方案,同时支持未来的开放标准•独立于空中接口是指WAP应用能够运行于各种无线承载网络之上,而不必考虑它们之间的差异,从而最大程度地兼容现有的及未来的移动通信系统•独立于无线设备是指WAP应用能够运行于从手机到功能强大的PDA等多种无线设备之上,各厂商按照WAP生产的不同设备,应具有一致的用户操作方式。WAP支持的承载网络支持绝大多数无线网络,包括•GSM、CDMA、CDPD•PDC、PHS、DECT•iDEN、TETRA•DataTAC、Mobitex。支持WAP的操作系统几乎所有专门为手持设备设计的操作系统•PalmOS•EPOC•WindowsCE•FLEXOS•OS/9•JavaOS•SymbianOS•BlackBerryOS•iOS•Android7.1.4WAP的特点•针对无线网络的特点,如低带宽、高延迟等优化设计,把Internet的一系列协议引入到无线网络中•只要求移动终端和WAP代理服务器的支持,不要求现有的移动通信网络协议做改动•尽可能少地占用手持设备资源,通过加强网络功能来弥补手持设备本身的缺陷•在应用层隐藏底层承载网络的复杂性,留给用户友好亲切的界面7.1.5WAP论坛•是一个工业协会,1997年6月,由诺基亚(Nokia)、爱立信(Ericsson)、摩托罗拉(Motorola)和PHONE.COM(以前的UnwiredPlanet)发起成立•1997年7月,出版了第一个WAP标准架构•1998年5月,WAP1.0版正式推出。•1999年5月,WAP1.1版也在正式发行。•2001年8月,WAP2.0正式发布。WAP论坛•曾有超过200个成员,代表了全球手持设备市场的95%,为数字移动电话和其他无线终端上的无线信息和电话服务制订事实上的全球标准•与很多标准组织,如W3C、ETSI、TIA、IETF、ECMA有密切关系,所制订的规范提供给适当的标准实体•2002年6月,与开放式移动体系结构(OpenMobileArchitecture)合并成立最初的OMA(开放移动联盟)7.1.6WAP体系结构•应用结构模型•WAP应用结构模型•WAP应用结构特点应用结构模型•标准的命名模型——所有的服务和内容以标准的URL(统一资源定位符命名)•标准的内容类型——所有的内容给定一个规范的类型,Web浏览器根据不同类型进行正确处理•标准的内容格式——所有的Web浏览器都支持一组标准的内容格式,包括HTML(超文本标记语言)、JavaScript脚本语言以及其它许多格式•标准的通信协议——HTTP等标准的网络协议允许各种Web浏览器同各种Web服务器通信协议定义了三类服务器•起源服务器(OriginServer):资源驻留和功能创建服务器•代理(Proxy):完成客户对服务器的请求服务•网关(Gataway):处理不同起源服务器之间的交换WAP应用结构模型•WAP的应用结构模型与相似,这为应用开发者提供了极大的便利,包括•熟悉的应用结构模型•已经证明过的结构•能够利用的现有工具•在可能的地方都采用现行标准,或利用其作为WAP技术的起点WAP应用结构模型•标准的命名模型——使用内容•标准的内容类型——所有的WAP内容以与兼容的方式提供,WAP代理根据其类型对内容进行正确处理•标准的内容格式——以技术为基础,包括标记语言、脚本语言、图像等•标准的通信协议——WAP通信协议可以使移动终端的浏览请求与Internet上的Web服务器进行通信WAP应用结构模型图WAP应用结构模型•与传统的通信类似,WAP采用客户机/服务器方式。•WAP模型在客户机与服务器之间多了一个WAP网关。客户机通过WAP网关然后再与资源服务器(Originserver)通信。•在客户机与WAP网关之间传递的信息也有别于传统方式下客户机与服务器间交换的信息。WAP应用结构模型WAP1.X体系主要由三部分组成:•WAP移动客户机(Client):指安装有微浏览器的无线终端设备(如手机),能够对WAP网页进行显示、解释、执行•WAP代理——WAP网关(WAPGateway):•完成HTTP协议向无线Internet传输协议(WSP/WTP)的转换(ProtocolAdapters)•对无线Internet内容进行压缩(WMLEncoder)和编译(WMLScriptCompiler)•WAP服务器(webserver):与一般的Internet站点的区别仅仅是在网页编写上采取的语言有所不同,它采用WML(WAP标记语言)语言缩写WAP应用结构模型•标准的模型配置包括WAP客户机,WAP代理以及WAP服务器。•WAP体系结构可以支持其他的配置。比如把WAP代理的功能包含在WAP服务器中,这样就可以实现客户与服务器安全的端到端连接。WAP应用结构特点•WAP的内容和协议为手持无线设备优化,通过代理技术实现无线领域与的连接•保证移动用户能够浏览大量的WAP内容和应用,应用提供商能够创建在大多数移动终端上使用的服务和应用•WAP代理技术使得内容和应用可以驻留在标准的服务器上,且可以使用成熟的技术进行开发,比如CGI(通用网关接口)技术第2节WAP的网络结构•WAP通信过程•WAP服务的技术实现方案客户端输入要访问的,包含WAP内容服务器地址的URL,经无线网络,以WAP协议方式把请求发送至WAP网关2.WAP网关进行协议转换,以HTTP协议方式与WAP内容服务器交互3.WAP网关将返回的内容压缩、处理成二进制流返回到客户端4.客户端在浏览器上看到返回的内容WAP服务的技术实现方案一•Web服务器传送原有的HTML网页,由HTML过滤器转换成WML格式,再由WAP代理服务器处理形成二进制的WML数据流送往客户端。HTML过滤器和WAP代理服务器可以相互独立,也可合二为一•优势:不需要对原有网络及其内容进行修改•缺点:•只能做有限的转换,难以完成复杂HTML网页转换•HTML网页比WML网页复杂,传输效率不高•增加了中间环节,降低网络效率•增加HTML服务器的负载,降低服务器效率WAP服务的技术实现方案二•Web服务器直接将WML网页传送到WAP代理服务器,由WAP代理服务器处理形成二进制的WML数据流送往客户端。•优势:可避免方案一的缺点•可改进之处:可利用现有的HTML服务器来实现WAP服务WAP服务的技术实现方案三•由WTA服务器直接将二进制的WML数据流送往客户端。•主要用于提供电话呼叫服务,出于安全性的考虑,受电信部门的控制更多。因此WAP服务供应商主要考虑前两种方案第3节WAP协议体系7.3.1WAP1.2协议栈7.3.2WAP2.0协议栈7.3.1WAP1.2协议栈•考虑到网络支持的能力,特别是手机支持的能力,在移动数据业务发展初期,WAPl.X协议不直接采用有线互联网上的HTTP/TLS/TCP协议,而采用了WSP/WTP/WTLS/WDP协议,并同时增加了WML语言,这些协议是在参考固网协议(HTTP/TLS/TCP)的基础上产生的,但这也造成了不能通过手机直接访问Internet。WAP1.2协议栈(二)•WAP的结构为移动通信设备应用开发提供了可伸缩的、可扩展的环境,这种优越特性建立在完整协议栈的分层设计的基础上;结构中的每层协议可被上层的协议来访问•分层结构使得其它的服务和应用通过预先定义的接口访问WAP栈,扩展应用能够通过接口直接访问所需下层WAP1.2协议栈(三)•应用层:无线应用环境(WAE)•会话层:无线会话协议(WSP)•事务层:无线事务协议(WTP)•安全层:无线传输层安全(WTLS)•传输层:无线数据报协议(WDP)•网络层:承载网络(Bearers)•其它的服务和应用无线应用环境(WAE)•包括WAP中所有与应用规范和执行相关的成份•主要集中在WAP系统结构的客户端部分——WAE用户代理•是基于模型组成•WAE用户代理•内容生成器•标准内容编码•无线电话应用(WTA)WAE用户代理•在客户端为终端用户提供特定功能的内置软件。•用户代理(如微浏览器)集成到WAP结构中,对由URL指向的网络内容进行解释•主要处理两种标准内容:•可编码的WML•可编译的WMLScript内容生成器•将起源服务器中的一些应用或服务,生成标准的内容格式以回应移动终端中用户代理所发出的请求•WAE不规范任何标准的内容生成器,允许有多种应用标准内容编码•一系列定义好的内容编码,允许用户代理(如微浏览器)方便地浏览Web内容•包括WML的压缩编码,WMLScript的二进制编码,标准的图像格式,多重容器格式及借用的商务和日历数据格式无线电话应用(WTA)•WirelessTelephonyApplications•一系列电话扩展应用,使WAP可以很好地应用电信网络中各种先进电信业务,如智能网业务,而不需修改移动终端。•WAP移动终端用WML与WTA服务器进行通信。WTA服务器可以将各种先进的智能网增值业务提供给WAP用户。WAE逻辑组成•用户代理:包括微浏览器、电话本、消息编辑器等•服务和格式:服务主要有三种•WML•WMLScript•URL无线标记语言WML•WirelessMarkupLanguage•是一种专门为移动终端优化设计的基于XML(eXtensionMarkupLanguage)的轻型标记语言•WML与它支持的环境充分考虑到设备的限制:较小屏幕,输入方式限制,网络带宽窄,有限的存储资源和计算资源WMLScript•是一个轻量脚本程序语言•补充了WML的一些限制,如无法对用户输入的有效性进行检查等,这增强了WML的浏览和表示功能,对用户的操作给予更加灵活和智能的处理。在某些时候,WMLScript还可以直接在移动终端上处理告警等消息,避免移动终端和远端服务器之间的数据交互,减少了带宽资源的消耗。URL•在一些情况下,WAE扩展了URL语法,比如在WML中对URL进行扩展以链接到特定WMLScript函数无线会话协议(WSP)•WirelessSessio