1、第7章 无线应用协议WAP,第1节 WAP概述 第2节 WAP的网络结构 第3节 WAP协议体系 第4节 WAP的安全问题 第5节 WAP PUSH技术概述 第6节 WML/WML Script 第7节 WAP网站建设初步 作业要求,第1节 WAP概述,7.1.1 WAP的概念 7.1.2 WAP产生背景 7.1.3 WAP的设计目标 7.1.4 WAP的特点 7.1.5 WAP论坛 7.1.6 WAP体系结构,7.1.1 WAP的概念,Wireless Application Protocol,无线应用协议 是一个使移动用户使用无线设备(例如移动电话)随时使用互联网的信息和服务的开放的规范。
2、 主要意图:使得袖珍无线终端设备能够获得类似网页浏览器的功能,其功能上有限。 WAP1.X规定无线设备访问的页面是用WML(一种XML方言)语言编写的,但是WAP2.0将XHTML-MP做为主要内容格式。,7.1.2 WAP产生背景,网络不断出现新的附加价值服务,移动用户有使用需求 直接连至现有有线网络,有特殊困难 手持无线设备的局限性 无线数据网络的限制,手持无线设备的局限性,CPU处理能力有限 记忆体容量小 显示屏幕较小 输入方式不同(电话按键输入、语音输入、手写输入等) 无线接收天线频宽受限,无线数据网络的限制,无线网络的带宽较低 时延较大 无线网络的稳定性较差,7.1.3 WAP的设计
3、目标,基于Internet中广泛应用的标准(如HTTP,TCP/IP,SSL,XML等),提供一个对空中接口和无线设备独立的无线Internet全面解决方案,同时支持未来的开放标准 独立于空中接口是指WAP应用能够运行于各种无线承载网络之上,而不必考虑它们之间的差异,从而最大程度地兼容现有的及未来的移动通信系统 独立于无线设备是指WAP应用能够运行于从手机到功能强大的PDA等多种无线设备之上,各厂商按照WAP生产的不同设备,应具有一致的用户操作方式。,WAP支持的承载网络,支持绝大多数无线网络,包括 GSM、CDMA、CDPD PDC、PHS、DECT iDEN、TETRA DataTAC、M
4、obitex。,支持WAP的操作系统,几乎所有专门为手持设备设计的操作系统,PalmOS EPOC Windows CE FLEXOS OS/9,JavaOS Symbian OS BlackBerry OS iOS Android,7.1.4 WAP的特点,针对无线网络的特点,如低带宽、高延迟等优化设计,把Internet的一系列协议引入到无线网络中 只要求移动终端和WAP代理服务器的支持,不要求现有的移动通信网络协议做改动 尽可能少地占用手持设备资源,通过加强网络功能来弥补手持设备本身的缺陷 在应用层隐藏底层承载网络的复杂性,留给用户友好亲切的界面,7.1.5 WAP论坛,是一个工业协会,
5、1997年6月,由诺基亚(Nokia)、爱立信(Ericsson)、摩托罗拉(Motorola)和PHONE.COM(以前的Unwired Planet)发起成立 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月,与
6、开放式移动体系结构(Open Mobile Architecture) 合并成立最初的OMA(开放移动联盟),7.1.6 WAP体系结构,WWW应用结构模型 WAP应用结构模型 WAP应用结构特点,WWW应用结构模型,标准的命名模型所有的服务和内容以标准的URL(统一资源定位符命名) 标准的内容类型所有的内容给定一个规范的类型,Web浏览器根据不同类型进行正确处理 标准的内容格式所有的Web浏览器都支持一组标准的内容格式,包括HTML(超文本标记语言)、JavaScript脚本语言以及其它许多格式 标准的通信协议HTTP等标准的网络协议允许各种Web浏览器同各种Web服务器通信,WWW应用结构
7、模型图,WWW应用结构模型,WWW协议定义了三类服务器 起源服务器(Origin Server):资源驻留和功能创建服务器 代理(Proxy):完成客户对服务器的请求服务 网关(Gataway):处理不同起源服务器之间的交换,WAP应用结构模型,WAP的应用结构模型与WWW相似,这为应用开发者提供了极大的便利,包括 熟悉的应用结构模型 已经证明过的结构 能够利用的现有工具 在可能的地方都采用现行标准,或利用其作为WAP技术的起点,WAP应用结构模型,标准的命名模型使用WWW标准的URL来标识起源服务器上的WAP内容 标准的内容类型所有的WAP内容以与WWW兼容的方式提供,WAP代理根据其类型对
8、内容进行正确处理 标准的内容格式以WWW技术为基础,包括标记语言、脚本语言、图像等 标准的通信协议WAP通信协议可以使移动终端的浏览请求与Internet上的Web服务器进行通信,WAP应用结构模型图,WAP应用结构模型,与传统的WWW通信类似,WAP采用客户机/服务器方式。 WAP模型在客户机与服务器之间多了一个WAP网关。客户机通过WAP网关然后再与资源服务器(Origin server)通信。 在客户机与WAP网关之间传递的信息也有别于传统方式下客户机与服务器间交换的信息。,WAP应用结构模型,WAP1.X体系主要由三部分组成: WAP移动客户机(Client):指安装有微浏览器的无线终
9、端设备(如手机),能够对WAP网页进行显示、解释、执行 WAP代理WAP网关(WAP Gateway): 完成HTTP协议向无线Internet传输协议(WSP/WTP)的转换(Protocol Adapters) 对无线Internet内容进行压缩(WML Encoder)和编译(WML Script Compiler) WAP服务器(web server):与一般的Internet站点的区别仅仅是在网页编写上采取的语言有所不同,它采用WML(WAP标记语言)语言缩写,WAP应用结构模型,标准的模型配置包括WAP客户机,WAP代理以及WAP服务器。 WAP体系结构可以支持其他的配置。比如把W
10、AP代理的功能包含在WAP服务器中,这样就可以实现客户与服务器安全的端到端连接。,WAP应用结构特点,WAP的内容和协议为手持无线设备优化,通过代理技术实现无线领域与WWW的连接 保证移动用户能够浏览大量的WAP内容和应用,应用提供商能够创建在大多数移动终端上使用的服务和应用 WAP代理技术使得内容和应用可以驻留在标准的WWW服务器上,且可以使用成熟的WWW技术进行开发,比如CGI(通用网关接口)技术,第2节 WAP的网络结构,WAP通信过程 WAP服务的技术实现方案,WWW通信过程,客户端向URL指定的Web服务器发出请求 Web服务器根据请求的程序返回HTML格式的相应内容至客户端 客户端
11、在浏览器上看到返回的内容客户端和Web服务器之间使用HTTP协议进行通信,WAP通信过程,客户端输入要访问的,包含WAP内容服务器地址的URL,经无线网络,以WAP协议方式把请求发送至WAP网关 WAP网关进行协议转换,以HTTP协议方式与WAP内容服务器交互 WAP网关将返回的内容压缩、处理成二进制流返回到客户端 客户端在浏览器上看到返回的内容,WAP服务的技术实现方案一,Web服务器传送原有的HTML网页,由HTML过滤器转换成WML格式,再由WAP代理服务器处理形成二进制的WML数据流送往客户端。 HTML过滤器和WAP代理服务器可以相互独立,也可合二为一 优势:不需要对原有网络及其内容
12、进行修改 缺点: 只能做有限的转换,难以完成复杂HTML网页转换 HTML网页比WML网页复杂,传输效率不高 增加了中间环节,降低网络效率 增加HTML服务器的负载,降低服务器效率,WAP服务的技术实现方案二,Web服务器直接将WML网页传送到WAP代理服务器,由WAP代理服务器处理形成二进制的WML数据流送往客户端。 优势:可避免方案一的缺点 可改进之处:可利用现有的HTML服务器来实现WAP服务,WAP服务的技术实现方案三,由WTA服务器直接将二进制的WML数据流送往客户端。 主要用于提供电话呼叫服务,出于安全性的考虑,受电信部门的控制更多。因此WAP服务供应商主要考虑前两种方案,第3节
13、WAP协议体系,7.3.1 WAP1.2协议栈 7.3.2 WAP2.0协议栈,7.3.1 WAP1.2协议栈,考虑到网络支持的能力,特别是手机支持的能力,在移动数据业务发展初期,WAPl.X协议不直接采用有线互联网上的HTTP/TLS/TCP协议,而采用了WSP/WTP/WTLS/WDP协议,并同时增加了WML语言,这些协议是在参考固网协议(HTTP/TLS/TCP)的基础上产生的,但这也造成了不能通过手机直接访问Internet。,WAP1.2协议栈(二),WAP的结构为移动通信设备应用开发提供了可伸缩的、可扩展的环境,这种优越特性建立在完整协议栈的分层设计的基础上;结构中的每层协议可被上
14、层的协议来访问 分层结构使得其它的服务和应用通过预先定义的接口访问WAP栈,扩展应用能够通过接口直接访问所需下层,WAP1.2协议栈(三),应用层:无线应用环境(WAE) 会话层:无线会话协议(WSP) 事务层:无线事务协议(WTP) 安全层:无线传输层安全(WTLS) 传输层:无线数据报协议(WDP) 网络层:承载网络(Bearers) 其它的服务和应用,无线应用环境(WAE),包括WAP中所有与应用规范和执行相关的成份 主要集中在WAP系统结构的客户端部分WAE用户代理 是基于WWW和移动电话技术的通用目的应用开发运行环境 WAE模型组成 WAE逻辑组成,WAE模型组成,WAE用户代理 内
15、容生成器 标准内容编码 无线电话应用(WTA),WAE用户代理,在客户端为终端用户提供特定功能的内置软件。 用户代理(如微浏览器)集成到WAP结构中,对由URL指向的网络内容进行解释 主要处理两种标准内容: 可编码的WML 可编译的WML Script,内容生成器,将起源服务器中的一些应用或服务,生成标准的内容格式以回应移动终端中用户代理所发出的请求 WAE不规范任何标准的内容生成器,允许有多种应用,标准内容编码,一系列定义好的内容编码,允许用户代理(如微浏览器)方便地浏览Web内容 包括WML的压缩编码,WML Script的二进制编码,标准的图像格式,多重容器格式及借用的商务和日历数据格式
16、,无线电话应用(WTA),Wireless Telephony Applications 一系列电话扩展应用,使WAP可以很好地应用电信网络中各种先进电信业务,如智能网业务,而不需修改移动终端。 WAP移动终端用WML与WTA服务器进行通信。WTA服务器可以将各种先进的智能网增值业务提供给WAP用户。,WAE逻辑组成,用户代理:包括微浏览器、电话本、消息编辑器等 服务和格式:服务主要有三种 WML WML Script URL,无线标记语言WML,Wireless Markup Language 是一种专门为移动终端优化设计的基于XML( eXtension Markup Language)的
17、轻型标记语言 WML与它支持的环境充分考虑到设备的限制:较小屏幕,输入方式限制,网络带宽窄,有限的存储资源和计算资源,WML Script,是一个轻量脚本程序语言 补充了WML的一些限制,如无法对用户输入的有效性进行检查等,这增强了WML的浏览和表示功能,对用户的操作给予更加灵活和智能的处理。在某些时候,WMLScript还可以直接在移动终端上处理告警等消息,避免移动终端和远端服务器之间的数据交互,减少了带宽资源的消耗。,URL,在一些情况下,WAE扩展了URL语法,比如在WML中对URL进行扩展以链接到特定WMLScript函数,无线会话协议(WSP),Wireless Session Pr
18、otocol 以一致的接口为上层的WAP应用提供两类会话服务 基于WTP的、面向连接的会话通信服务 基于WDP的、无连接的的会话通信服务 由适合于浏览应用(WSP/B)的服务组成,WSP/B功能,HTTP功能和紧凑编码的语法 长时间会话状态 会话的挂起和唤醒及会话重定向 用于可靠或非可靠的数据PUSH的通用设施 协议性能协商,无线事务协议(WTP),Wireless Transaction Protocol 运行在数据报服务上,提供一种轻量级的面向事务处理的服务,专门优化并适用于移动终端的设计,无线事务协议(WTP)特征,分为三个级别的事务服务 非可靠的单向请求 可靠的单向请求 可靠的请求-回
19、应双向事务 用户到用户的可靠性(可选):WTP用户对收到的每一个消息进行确认 确认消息中的带外数据 PDU级连和延迟确认,以减少消息发送的数目 允许异步事务在数据可用时回应,无线传输层安全(WTLS),Wireless Transport Layer Security 建立在工业标准TLS协议上的安全协议 使用WAP传输协议,并为窄带通信通道优化 可用于不同终端之间的安全通信 应用可根据所需安全性或底层网络特性有选择的使用或取消WTLS功能,无线传输层安全(WTLS)特征,数据完整性 私有性:保证数据传输过程中的隐秘性,不能被中间截取者所理解 认证 服务拒绝保护:保护系统免受拒绝服务攻击影响,
20、无线数据报协议(WDP),Wireless Datagram Protocol 一种通用的数据传输服务可以支持多种无线承载网络 给上层提供一致服务,对底层网络透明,使得上层的WAE、WSP、WTP、WTLS独立于下层的无线网络,从而使全球性的互操作得以实现。,承载网络(Bearers),WAP协议可运行于不同的承载服务上,包括短消息服务、电路交换数据和分组交换数据 根据吞吐量、误码率和时延的不同,承载网络提供了不同的服务质量级别 WAP协议根据这些不同的服务级别进行了补偿或容忍,其它的服务和应用,包括电子邮件、电话簿、记事本、电子商务、白页和黄页等,7.3.2 WAP2.0协议栈,随着网络,特
21、别是终端的发展,移动网络与固定网络在传输性能上的差异减小,WAP2.0在协议实现上更接近固网的成熟协议(TCP、HTTP),但为保证对于已有的只支持WAPl.2的手机的兼容,还必须提供对WAPl.2协议栈的支持,WAP2.0采用双协议栈架构:包括WAPl.2协议栈和WAP2.0协议栈,WAP2.0协议栈特点(一),WAP2.0的一个关键特性是将互联网协议引入WAP环境。在2.5G和3G上提供比WAPl.X效率更高的无线网络传送协议 对能提供IP连接的承载网络,WAP2.0协议栈用WP-TCP,对不能提供IP连接的承载网络,依然采用WSP/WTP/WDP协议栈,可以说,WAP2.0回归到了原来的
22、HTTP/TCP协议。,WAP2.0协议栈特点(二),协议栈支持方面:在WAP1.X引进的WAP协议栈的基础上,WAP2.0增加了对基于共同的因特网协议栈的支持和服务,包括对TCP TLS和HTTP的支持。拥有了这两个协议栈,WAP2.0在更大范围的网络和无线载体上提供了连接模型 速度更快:WAP网关不用做HTTP/TCP和WSP/WTP/WDP的协议转换;手机侧不做WSP/WTP/WDP的解析;但需要做HTTP/TCP的无线配置,WAP2.0协议栈特点(三),性能提高:因不做大量的协议转换,同样的硬件设备支持更多的并发用户 丰富的内容:因WAP2.0协议采用了与有线互联网兼容的语言,因此获得
23、了更为广泛的支持,更多的应用能更容易的被用在移动互联网上,这种兼容性也使WAP2.0比WAP1.X有更长的使用期限和稳定的产品形态(不用在协议和标记语言上进行频繁升级),使移动用户享受到有线互联网的丰富的内容,WAP2.0协议栈特点(四),标记语言的发展: XHTML是下一代WML的基础。具有WAP CSS的XHTML Mobile Profile标记语言是构成WML2.0的主要部分。它能够对原有的WML提供一些增强功能,特别是在内容的表现方面,WAP2.0协议栈特点(五),WAP2.0技术应用: 加强开发WAP的实用性,适应了当前更高带宽、更快的数据传输速度、更强大的接入能力和不同的屏幕规格
24、大小等最新的行业发展趋势,使用户在使用上获得更高的效率,WAP2.0协议栈特点(六),采用了WTLS和WIM(Wireless identity Module无线身份识别模块技术),使得其在支持多种鉴权方式(匿名访问、客户端鉴权和服务器端鉴权)、安全会话控制和数字签名等多种安全措施方面,比WAPl.X能够提供更为完善和有效的端到端的安全机制,第4节 WAP的安全问题,7.4.1 WAP中的安全问题 7.4.2 WIM体系结构概述 7.4.3 WAP安全操作 7.4.4 WIM服务接口定义* 7.4.5 WTLS中的WIM操作 7.4.6智能卡实现,7.4.1 WAP中的安全问题,问题 无线传输
25、,容易被窃听 侦听窃听不容易 优势 终端的私有性使身份认证更为可靠 终端的随身携带使直接窃密变得困难,7.4.2 WIM体系结构概述,WAP1.2中通过了WIM规范,即WAP识别模块(WAP Identity Module) WIM规定了加密通信的智能卡及用数字签名认证事务处理的内容 WIM是个抗干扰设备,用来增强WAP安全层实现的安全性和应用层特定功能的安全性 WIM 信息格式以PKCS15为基础,提供一种灵活的加密信息格式,使用一种对象模型存取密钥、证书、认证对象和属性数据对象,WIM体系结构概述,WIM的功能可通过智能卡来实现,智能卡以ISO7816系列标准为基础,既可以是一个独立卡,也
26、可以作为多应用卡的一部分功能 WIM使用ISO7816及PKCS15一样的标准接口,具有加密特征的一般性,也可以用于非WAP应用 WIM-SAP是所有WIM应用的通用接口,WIM在 WAP协议分层模型中的位置 图,7.4.3 WAP安全操作,WIM存储和保护永久的、特别是认证的私有密钥 WIM保存所需的证书: CA证书 用户证书或证书的URL链接 WIM维持所支持的算法 WIM用来执行 WTLS安全操作 WAP应用安全操作,WTLS安全操作,在握手操作过程中执行加密操作,特别是用于客户端认证的加密操作 保证WTLS安全会话的长期安全性,WAP应用安全操作,解开密钥 数字签名,WAP应用安全操作
27、解开密钥,收到由公开密钥加密的消息密钥数据包 ME消息密钥数据包送到WIM中 WIM使用私有密钥解密,将解开的消息密钥送回ME ME使用消息密钥对消息进行解密,WAP应用安全操作数字签名,用作认证或保证消息的不可抵赖性 为了支持不可抵赖性,用做签名的的密钥不能离开抗干扰设备 签名过程 ME对签名数据计算出一个hash值 WIM使用私有密钥及这个hash值计算出数字签名并将其返回,7.4.4 WIM服务接口定义*,WIM定义的服务包括为WTLS提供的简单存储功能和安全功能,及为应用层提供的安全功能 这些服务接口都使用服务原语的形式进行描述,分为5个方面: 设备控制原语 与认证相关的原语 数据访问
28、原语 加密用原语 处理异常事件原语,7.4.5 WTLS中的WIM操作,以RSA握手为例,描述WTLS握手期间在WTLS服务器和客户端之间、ME和WIM之间发送的消息流程 读取配置:ME从WIM中读取密钥、证书及WIM支持的算法 ME读取WIM生成的随机值 服务器读取客户端证书 ME验证服务器证书的CA签名 WIM生成的随机值,用服务器的公开密钥加密,形成预主密钥,并返回给ME,WTLS中的WIM操作,WIM根据预主密钥和从ME收到的种子,使用PRF(伪随机函数)生成主密钥 WIM对在客户端和服务器之间传递的握手消息的hash值进行签名,签名返回给ME WIM根据主密钥和从ME收到的种子,使用
29、PRF计算所要求字节数值,并返回给ME,在Finished消息中使用,客户端完成校验 服务器端完成校验,方法同客户端,只是握手签名值不同,WTLS中的WIM操作,WIM根据主密钥和从ME收到的种子,使用PRF计算请求字节数值,返回给ME作为客户端写密钥数据块 计算服务器端写密钥数据块,方法同客户端,只是种子值不同 ME保存必要的信息,包括地址和会话数据,用于以后恢复会话 开始传递应用数据,7.4.6 智能卡实现,WIM卡特征 WIM卡命令,WIM卡特征,用于WIM的卡,物理特征必须符合ISO7816-1、ISO7816-2标准,及GSM11.11标准 WIM卡的电子签名和传输协议必须符合ISO
30、7816-3及GSM11.11、GSM11.12和 GSM11.18中的相应要求,WIM卡命令,WIM卡命令以ISO7816-4和ISO7816-8为基础,这些命令使用应用协议数据单元APDU进行描述 一个APDU命令组成 必要部分:4个字节首部(类别字节CLA、指令字节INS、参数字节P1和P2 依赖于条件的可变长度的主体部分:数据域长度Lc、数据域、预期最大数据长度Le WIM服务原语与卡命令相对应,第5节 WAP PUSH技术概述,PUSH概述 PUSH代理网关PPG PUSH访问协议PAP PUSH空中协议OTA 业务指示 业务加载 客户端基础结构 安全考虑,PUSH概述概念,PULL
31、技术:在一般的客户机/服务器模型中,客户端向服务器请求服务或信息,然后服务器向客户端发送所请求的信息,即PULL事务是由客户端初始 PUSH技术:也基于客户机/服务器模型,但与PULL技术相反,服务器在发送内容之前客户端并没有提出明确的请求,即PUSH事务总是由服务器初始,PUSH和PULL技术比较图,PUSH概述框架,WAP的PUSH操作由PUSH起始者( PI,Push Initiator)使用OTA协议或PAP协议向客户端传输内容 PI和客户端分别位于有线和无线领域,因此需要一个PUSH代理网关(PPG)进行协议转换 PPG通过PAP协议(PUSH访问协议)访问PI服务器中的内容,PAP
32、协议使用的是XML消息,这些XML消息是通过各种Internet协议,如HTTP,利用隧道技术转换过来 OTA协议完成消息处理、空中消息传输两个基本功能 PPG还能向PI通知PUSH操作的最终结果,WAP的PUSH框架图,PUSH代理网关PPG,PPG完成PUSH体系结构中大部分工作,是从Internet到移动网络PUSH内容的接入点 PPG所有者可以决定它的访问政策 PPG可以构建在WAP中定义的使用PULL技术的WAP网关,实现资源和会话共享,PPG操作概述,PPG至少完成下列工作 PI的识别和认证,访问控制 内容控制信息的解析和错误检测 客户端搜索服务 地址解析(Address Reso
33、lution) 对特定内容类型进行二进制编码和编译,以提高OTA传输效率 协议转换 PPG不要求按某一定顺序传递消息,PPG PUSH提交处理,PPG接收来自PI的PUSH消息,这样的一个PUSH任务称做一个PUSH提交 PUSH提交处理包括四个子操作 PUSH提交的接受或拒绝 如果接受,根据PPG的策略和PI的要求进行进一步传递,则PPG进行空中消息传递 如果接受,且PI要求对消息传递进行结果通知,PPG就进行消息传递结果通知 对PAP的PUSH消息进行回应前三项必须按顺序执行,第四项可在PUSH消息接受之后的任何时候执行,由PPG决定,PUSH提交的接受或拒绝,一般,如果PPG能最终把PA
34、P PUSH消息传递到OTA客房端,它就接受这个消息 如果PUSH发送中包含任何元素非法,PPG必须拒绝这个发送 PPG还可以根据策略决定接受或拒绝 如果一个PUSH提交被接受,但未能完成空中传递,必须报告如下的消息状态: PAP属性(Message state) 值(pending),空中消息传递,由消息处理、空中消息传输两个功能组成 消息处理:对包含在PUSH发送中的PUSH进行一些转换工作 对消息进行一些兼容优化操作,以提高空中传输效率 把消息实体转换成客户端能接受的内容类型 空中消息传输 选择确认或非确认的PUSH传递消息 还可包括消息超期检测及取消,消息重传和传递超时,承载网络和会话
35、管理 这项功能不同步,PI不必等待PPG完成发送,PPG客户端寻址,PI使用特定的文本地址格式向PPG标识客户端,PPG必须把这些地址转换成可在无线网络中传输的形式,或反之 客户端地址组成:客户端标识和PPG标识符 PI可以采用多种客户端标识符唯一识别WAP客户端,一个PPG必须支持以下两种类型: 用户自定义标识符,如E-mail地址 设备地址,如PLMN电话号码或者IP地址,PPG客户端地址格式,使用ABNF(巴克思范式)进行定义,格式与Intetnet的E-mail地址兼容 格式:“WAPPUSH=”+客户端标识符+“”+PPG标识符 客户端标识符无论是用户自定义标识符或设备地址,都由标识
36、符和地址类型两部分组成,中间由“/”隔开,不区分大小写 地址类型可以是: TYPE=USER(用户自定义标识符) TYPE=PLMN(或IPv4、IPv6等,这是设备地址),PPG客户端地址格式,客户端地址举例 用户自定义标识符WAPPUSH=john.doe%40wapforum.org/TYPE=USER, 其中%40就是“” 设备地址 WAPPUSH=+155519990730/TYPE=PLMN,设备地址为电话号码 Wappush=195.153.199.30/TYPE=IP,设备地址为一个IPv4地址,PUSH访问协议PAP,基于Internet的PI向移动网络PUSH内容时要对PP
37、G进行寻址,是通过PAP(Push Access Protocol)完成 PAP承载一个XML类型的实体 PAP支持下列操作 PUSH提交(PI到PPG) 结果确认通知(PPG到PI) PUSH取消(PI到PPG) 状态查询(PI到PPG) 客户端性能查询(PI到PPG) 寻址,PUSH提交,目的是从PI向PPG传递PUSH消息,然后由PPG把消息传递到无线终端设备上的用户代理 PUSH消息包括三个实体: 控制实体 内容实体 可选的性能实体,结果确认通知,发送成功时,PPG发送确认通知消息到PI,包含一个XML实体 检测到发送失败,也发送消息通知PI失败的原因,PUSH取消,这是一个从PI向P
38、PG发送的XML实体,用来请求取消前面发送的内容 不管取消是否成功,PPG都会回应一个XML实体,状态查询,PI用来查询先前提交的PUSH消息的当前状态 如果要查询的消息具有多个接收者,PPG必须返回一个回应消息,这个消息包含了对每一个接收者的状态查询结果 这个查询及其回应也都是XML实体,客户端性能查询,PI用来向PPG查询特定设备的性能,是一个从PI向PPG发送的XML实体 对查询的回应是一个multipart/related文档 如果通过PPG的转换工作,使得客户端具有某种性能,PPG也会把这项性能添加到报告中,寻址,PI要考虑三个地址 PUSH代理网关PPG的地址 无线设备地址 结果通
39、知地址 PPG地址必须提供,用于底层协议寻址,PUSH空中协议OTA,PUSH Over-The-Air Protocol 是在WAP体系结构中WSP之上的一个轻量协议层,负责把内容从PPG传送到客户端和它的用户代理,业务指示,Service Indication,SI 是扩展标记语言XML1.0的一个应用 通知客户端发生了一个外部异步事件,并指向一个可被加载以反映这个事件的服务,通过向客户端发送一个消息完成 控制用户参与级别 删除存储在客户端的SI(手动或超期自动) 替代存储的SI,业务加载,Service Load,SL 为避免问题:一接收到内容就直接PUSH到移动设备,干扰其它操作,引起
40、用户的不便和反感 把URI传递到移动客户端的用户代理,在适当的时候,客户端自动加载这个URI所指向的内容,并使用相应的用户代理执行而不必用户的参与 指示客户端把URI指向的内容优先缓存进Cache,以便可以被客户端用户代理调用,客户端基础结构,客户端接收到PUSH消息后要对消息进行相应的处理,因此PUSH框架需要一些客户端的额外机制 会话生成应用:生成面向连接的PUSH所需要的一个活动的WSP会话 应用分派器:查看PUSH消息首部,以决定消息的目的应用程序,安全考虑,PI的认证 客户端认证授权 PPG过滤和访问控制,PI的认证,使用会话级证书(TLS/SSL) 使用对象级证书(签名或内容加密)
41、 HTTP认证(用户名和密码、摘要) 组合认证 可信任的网络,客户端认证授权,利用信用可授权原理,即如果客户和一个PPG可建立信用,这个PPG就可以代表客户端对PI进行认证 在客户端通过保存一个信任的PPG列表来建立客户端和PPG之间的信任,PPG过滤和访问控制,丢弃来自不可信或未认证的起源服务器所PUSH的内容,第6节 WML/WML Script,WML简介 WML语法 WML Script介绍,WML简介,Wireless Markup Language是一种适用于无线互联网的标记语言 是一种基于XML的标记语言,用于为窄带设备设计内容与用户界面,充分考虑小型窄带设备的制约条件 继承XM
42、L文件字符集,WML简介,WML包括四个主要的功能块 文本演示与排版 DECK/CARD的组织形式:WML中所有信息被组织成CARD和DECK的集合。CARD指一个或多个单位的用户操作。CARD分组称为DECK CARD间导航和链接 字符串参数化与状态管理,WML语法,元素:有两种结构 成对出现内容 不成对出现 属性:在元素的开始标签中说明,使用双引号或单引号标明 注释:继承了XML的注释风格,形式如下:WML注释不支持嵌套,WML语法,实体:用于指明文件字符集中那些在WML中保留或难以输入的字符,以“,WML语法,WML区分大小写 所有标签、属性和规定的可接收值必须小写 连续的空字符,只显示
43、一个空格 文件头声明WML标记对 是任何一个WML页面的根元素 可以包含一个或多个卡片,和可选的头文件 可使用“模板”来生成其所包含的所有卡片,WML语法,变量 描述变量的语法在WML中优先级最高 当空格无法表示一个变量名结束的时候,就必须用括号将参数括起来 可以在字符串中使用 任何元素和属性不能使用变量替代 在运行中更新变量的值 变量名由US-ASCII码、下划线和数字组成,且只能以US-ASCII码开头,WML语法,Text元素 段落: 空白:空格、制表符和换行都将显示为空白 重点:em(强调)、strong(特别强调)、i(斜体)、u(下划线)、big(预定义的大字体)、small (预
44、定义的大字体)换行:br,WML语法,输入input,用来收集用户的输入,包含以下属性: name用来指定变量的名字 value指定变量的缺省值 type指定按密码输入模式进行输入 format指定输入的内容是数字、字母、字母和数字、输入长度、大写或者小写,WML Script介绍,WML Script语言必须放在一个WMLS文件里,而不能象Java Script那样镶嵌在HTML中 WMLS文件的大小不要超过1.4k 语法规则: 每行程序以分号结尾 注释方法:“/”或者“/* */” 使用关键字var来声明变量,变量类型有:BOOLEAN、INTEGER、FLOATING-POINT、STR
45、ING和INVALID,WML Script介绍,函数调用方法 自定义函数: extern function 函数标识符(格式参数表列)Block WML Script内建函数: 函数类名.函数名(参数表列) 内建函数类型:Lang、Float、String、URL、WMLBrowser、Dialogs,WML Script介绍,总之, WML Script与Java Script很相似,只是多了和WML文件相配合的功能,第7节 WAP网站建设初步,WAP网站建设的准备工作 WAP网站建设的中期开发 WAP网站建设的后期测试,WAP网站建设的准备工作,WAP网站建设有两种基本解决方案: WAP
46、内容网站+租用公共网关:投入较少,维护费用少,适合中小企业 WAP内容网站+WAP网关:投入较多,维护费用高,适合大型有实力的企业,WAP网站建设的中期开发,栏目数量适当:太少,用户会觉得内容贫乏;太多,用户操作不方便 栏目层次适当:层次太少,容纳不少太多内容;层次太多,用户感到迷惑,且会导致用户费用提高 操作简便:除用户名和密码等必要信息外,尽量通过选择实现功能,减少用户输入量,WAP网站建设的后期测试,使用模拟器进行开发的软件不一定能在实际手机上完全通过,特别是一些细节问题,必须经过手机实测,作业要求,WAP的概念 WAP的标准组件包括什么? 对比PULL技术和PUSH技术。,考试说明,范围:所有章节(包括第七章)的课后作业题 题型: 单项选择题(每小题2分 共10分) 填空题(每空3分 共60分) 简答题(每题10分 共30分) 说明: 填空题要求只写出英文缩写或完整的中、英文全文中的一种即可。 简答题涉及的英文缩写概念要求写出其完整的中、英文全文,并解释。,