WAP版本
WAP即无线应用协议,Wireless Application Protocol,主要有两个版本:
WAP1.X:包括WAP1.0,WAP1.1和WAP1.2 WAP2.0
WAP1.X规定无线设备访问的页面是用WML(一种XML方言)语言编写的,但是WAP2.0将XHTML-MP做为主要内容格式。【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://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 |
◆ |
◆ |
|
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
【3】http://hi.baidu.com/zj360202/blog/item/4fef8cf77b995628730eecc7.html
相关文章链接:我的网络通信相关文章