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。
WAP Push
WAP PUSH允许WAP内容向手机推送,并最低程度减低用户的干预。一个WAP PUSH是一个特殊编码的消息,它包含指定一个WAP地址的连接。WAP PUSH在WDP的上层,因此可以在任何支持WDP的承载中传输,例如GPRS或者SMS。在GSM网络中,由于激活GPRS不是普遍支持,所有WAP PUSH消息使用SMS承载。【2】
当收到一个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架构图
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://3g.sina.com.cn/ 简版|3G版本 | ◆ | ◆ |
手机搜狐网 |
| ◆ | |
互联星空 | Gd.wap.vnet.mobi |
| ◆ |
工商银行 | wap.icbc.com.cn | ◆ | ◆ |
淘宝 |
| ◆ | |
招商银行 | http://mobile.cmbchina.com/mbank/ui/wap/portal.aspx https://mobile.cmbchina.com/MBank/UI/wap/Portal.aspx?Type=WML | ◆ | ◆ |
| ◆ | ||
网易 | 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