WAP版本


  WAP即无线应用协议,Wireless Application Protocol,主要有两个版本:



  • WAP1.X:包括WAP1.0,WAP1.1和WAP1.2
  • WAP2.0


【1】


对于浏览器,需要不同的解析器。例如我PC上的firefox,需要安装两个组件来支持WAP,wmlbrowser(Display WML(Wireless Markup Language) content)支持WAP1.X,XHTML Mobile Profile(Allows XHTML Mobile Profile to be displayed in the browser)来支持WAP2.0。


  处理高层的脚本协议不同外,WAP1.X和WAP2.0在传输协议层也存在差异。


WAP1.X 【2】



  WAP1.0标准,在1998年4月公布,作为移动互联网访问的完整的软件stack。WAP1.1在1999年发布,WAP1.2是最后的一个WAP1.X的更新,在2000年6月公布。在WAP1.2中最重要的修订是增加了WAP Push。WAP使用于小尺寸屏幕的设备,例如手机。WAP表示描述一系列的协议,允许WAP终端和软件在不同的网络之间互动,即允许建立一个平台来适应不同的网络技术,例如GSM和IS-95(CDMA)网络。


+------------------------------------------+
 | Wireless Application Environment (WAE)   |   
 +------------------------------------------+  \ 
 | Wireless Session Protocol (WSP)          |   | 
 +------------------------------------------+   | 
 | Wireless Transaction Protocol (WTP)      |   | WAP 
 +------------------------------------------+   | protocol 
 | Wireless Transport Layer Security (WTLS) |   | suite 
 +------------------------------------------+   | 
 | Wireless Datagram Protocol (WDP)         |   | 
 +------------------------------------------+  / 
 |     *** Any Wireless Data Network ***    | 
 +------------------------------------------+


我们可以对照ISO的7层协议来看WAP协议:


  从下往上,最底层是WDP(Wireless Datagram Protocol),作为一个适配层,使得网络数据对于上面各层有点类似UDP,提供不可靠的数据传输,具有两个16比特的端口号码代表源和目的地。上面各层将WDP视为在不同的数据层中技术实现。对于IP层中,例如GPRS,UMTS,PPP的数据连接,WDP就是UDP。


  WTLS,是一个可选层,提供基于公共密码加密的安全机制,类似于TLS。


  WTP提供传输支持(可靠的请求/响应)来适应无线。WTP能比TCP更有效地解决丢包问题,丢包是在2G无线网路中经常出现,但是在TCP中被误认为是网络拥塞。


  WSP,可以视为是HTTP压缩。


  WAP协议族允许终端请WAP网关请求一个等同于HTTP或者HTTPS的请求,再由WAP网关将请求翻译为普通的HTTP。

WAP1.X/WAP2.0以及WAP浏览器的协议版本_浏览器


WAP Push


  WAP PUSH允许WAP内容向手机推送,并最低程度减低用户的干预。一个WAP PUSH是一个特殊编码的消息,它包含指定一个WAP地址的连接。WAP PUSH在WDP的上层,因此可以在任何支持WDP的承载中传输,例如GPRS或者SMS。在GSM网络中,由于激活GPRS不是普遍支持,所有WAP PUSH消息使用SMS承载。【2】

WAP1.X/WAP2.0以及WAP浏览器的协议版本_wap_02


  当收到一个WAP Push,支持WAP Push1.2或之后的版本(也就是WAP2.0也支持)的手机将给用户选择是否获取WAP内容,这就是WAP PUSH SI(Service Indication)。用于处理WAP推送和将它们在IP或者SMS承载中传递的网元设备就是PPG(Push Proxy Gateway)。【2】


WAP2.0


  WAP2.0架构图

WAP1.X/WAP2.0以及WAP浏览器的协议版本_浏览器_03

  WAP 2.0在2002年发布,是重新设计的WAP,使用了端到端HTTP的精简XHTML版本,去除了网关和用于通信的custom protocol suite。WAP网关可以与WAP2.0相结合,在这种场景中,它将作为一个标准的proxy服务器。WAP网关的角色将从翻译转变成为每个请求附加信息,信息的内容由运营商进行配置,可以是电话报号码,位置,账单信息,和手机信息。【2】


  移动设备需支持XHTML MP(XHTML Mobile Profile),即标记语言(markup  language)在WAP2.0协议中定制。它是XHTML的自己,是XHTML的超级,并支持CSS(casscading style sheet)的一个版本WAP CSS【2】,使得网页具有更丰富的版面呈现。


  由上面看见,WAP2.0与WAP1.X是完全不同,不可能兼容的。目前运营上的网络均提供WAP2.0和WAP1.X,终端只需支持WAP2.0即可。网络提供WAP1.X的能力,对于中国电信而言,目前是支持老联通的用户,这部分的设备将被会扩容。WAP1.X毕竟已经是很多年前的事情,支持不清楚为什么在中国电信移动终端的规范中还有所提及。


WML和XHTML的差异


  这两个版本是有区别的,不属于后向兼容。但是作为浏览器,或者WAP浏览器,应该考虑后向兼容。


表现能力的差异


  WAP2.0在层次上丰富很多,下面左图是WAP2.0,右图是WAP1.X,在展现能力上有很大的差异,单凭视觉效果,也能区分哪些是WAP2.0,哪些属于WAP1.0。在源代码方面,对于WAP2.0,具有XHTML的标识说明,例如

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

对于WAP1.X,具有WML的表示说明,例如

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

  从某种意义上来讲,WAP1.X终将会被完全替代,但是对于浏览器,目前我们是否还需要支持WAP1.X所采纳的脚本方式(注意不是WAP1.X技术),需要考察WML和XHTML的使用范围。我们对网上一些常规的网站进行调研,比较WML和XHTML的使用方位:

网站

网址

WML

XHTML

118114

http://wap.118114.cn/bst/sportal12/c.jsp?colcd=1086 普通版| 炫彩版

百度

http://wap.baidu.com 极简|普通,炫彩,触屏

搜狗

http://wap.sogou.com/

 

手机加油站

http://wap.sjjyz.com

 

掌上猫扑

http://wap.mop.com

 

手机新浪网

http://3g.sina.com.cn/ 简版|3G版本

手机搜狐网

http://wap.sohu.com/

 

互联星空

Gd.wap.vnet.mobi

 

工商银行

wap.icbc.com.cn

http://wap2.icbc.com.cn/

淘宝

http://m.taobao.com/,http://wap.taobao.com/

 

招商银行

http://mobile.cmbchina.com/mbank/ui/wap/portal.aspx https://mobile.cmbchina.com/MBank/UI/wap/Portal.aspx?Type=WML

Google

http://www.google.com.hk/m

 

网易

m.mail.163.com

 

10000

wap.ct10000.com/

 

开心网

Wap.kaixin001.com

 

参考资料:

【1】http://zh.wikipedia.org/zh-cn/%E6%97%A0%E7%BA%BF%E5%BA%94%E7%94%A8%E5%8D%8F%E8%AE%AE
【2】http://en.wikipedia.org/wiki/Wireless_Application_Protocol