关于WAP的一点资料

sucn| 阅读:3276 发表时间:2005-10-27 经验技巧

以前在其它 网站上看见用FlashPaper做出的Flash文章感觉很神奇。载了Contribute 3就是为了使用其中最有用的功能:FlashPaper 2。转了两个从[url=http://blog.nowans.com/]nBlog[/url]上载的WAP文档,不过我个人对WAP了解还是太少。
WML元素及其语法格式一览表
[swf=800,800]http://www.rainbowsoft.org/zblog/upload/200509160227268747.swf[/media]
WML Script标准函数库[swf=800,800]http://www.rainbowsoft.org/zblog/upload/200509160230018471.swf[/media]
WAP概述>>WAP是只为小型手持设备而设计的,还是其他设备例如掌上电脑也可以使用WAP,并从中受惠?
WAP主要是为显示屏幕和处理性能有限的小型手持设备而设计的。体积大、功能强的设备当然也能运行WAP协议栈和WML浏览器,就像它能运行TCP/IP协议栈和HTML浏览器一样。
如果有在这些设备上使用WAP的必要的话,那么在这些设备上使用WAP也是可行的。在无线连接上使用HTTP/TCP/IP所需时间很长,所以数据有可能丢失。而同样的有效信息通过WSP/WTP/WDP(WAP协议栈)传输所需的时间则短得多。
>>使用WAP来替代简化HTML的关键在于什么?
这是要提交给WAP论坛讨论的一个主要问题。下面是关于这个问题的一些观点:
a. WML 语法集比HTML要小,这也意味着浏览器的具体实现也更小。
b. WAP标准包括一种二进制WML编码方式,而HTML不包括(至少不是作为一种标准,个别的第三方产品通过客户代理和插件来尝试解决这个问题)。这也意味着浏览器的具体实现可以更小,因为解释二进制代码不需要词法分析器和语法分析器。
c. WML支持事件模式,而HTML不支持。HTML需要JavaScript、 插件、或 ActiveX来提供事件处理。但如果支持WMLScript的话,在不用提供呼叫处理或电话访问功能的设备上就不需要JavaScript、 插件、或 ActiveX。
d. WAP标准包括了一个呼叫处理模块(WTA),HTML不包括,也不能提供,以后也不会提供这个模块。
e. WAP标准包括(或者以后将包括)电话设备接口(WTA),例如电话/地址簿访问,SIM卡访问。
f. WAP协议是为在慢速或低带宽上尽可能少的使用带宽而设计的。HTTP则是为TCP/IP和socket通信而优化的。
g. 即使设备不支持智能卡(加密通常依赖这种卡而进行),WAP协议也包括了对加密(WTLS)的支持,。
>>什么是WAP?
WAP(Wireless Application Protocol)的含义是无线应用协议。它和呼叫以及呼叫者没有关系。(但是呼叫者可以使用WAP来提供改进的呼叫服务。)
WAP是一种为小型手持设备,比如移动电话和个人数字代理,提供Internet接入的协议, WAP规范(http://www.wapforum.org/)包括:
1) 一种和HTML类似的标记语言,WML。可以用它来设计终端用户可浏览的页面。
2) 一种和JavaScript类似的脚本语言,WMLScript。
3) 一组和电信业有关的功能,称为WTAI,比如发起呼叫,在手机地址簿上添加名字,或发送SMS消息。
4) 一个协议栈,用来管理话路(象HTTP那样),处理事务(象TCP/IP那样),以及管理用于和WAP服务器或网关通信的物理连接层(在这里指USSD/GSM)。
>>要从支持WAP的电话上访问WAP应用文件,需要做什么工作?需要在服务器端安装其他附加的软件来使得服务器可访问吗?
不首先,需要将文件放在web服务器上。然后必须将服务器配置成对于不同的WAP文件返回不同的content-type(MIME类型):
对.wml 文件返回text/vnd.wap.wml
对.wmls文件返回text/vnd.wap.wmls (WML Script)
对.wmlc(编译过的WML文件)返回application/vnd.wap.wmlc 对.wmlsc(编译过的WML脚本)返回application/vnd.wap.wmlsc
后两项并不是不可缺少的,除非你在服务器上存储预编译的版本。做完这些以后,你就可以从仿真WAP终端(也就是WML资料浏览器),比如WapIDE,上通过Internet访问WAP应用。但尽管如此,你还是不能在真实的WAP设备上访问它,因为真实的WAP设备只懂得编译好的WML。真实的支持WAP的手机是设计成从WAP网关上而不是直接从服务器上读取WML文件(包括WML脚本和图像)。对于来自WAP终端的每个请求,网关从Internet上通过一般的HTTP/TCP/IP从服务器上读取WML文件,将这个文件编译成高效的二进制代码格式,并使用WAP协议栈(WSP/WTP/WDP)将它们传送给移动终端。移动运营商可能会提供这个网关。通过拨号数据呼叫方式上网,ISP也可能提供这个网关。所以,对于这个问题的后面部分的答案是:不,不需要在服务器上安装额外的软件来访问服务器上的WML卡片组,但WAP设备需要通过一个叫WAP网关的软件模块来访问这些WML卡片组。
WML >>什么是WML?
WML(WAP Markup Language)即WAP 标记语言。和HTML一样,它有标记标签。这使得WAP终端能够快速高效的显示信息内容。
信息是以"卡片组"(deck)和"卡片"(card)的方式组织的。卡片中的"元素"(element)告送浏览器如何显示选项列表,获得用户输入,或响应事件。通过设备的键盘,通过连接的服务器(真正的push),通过设备的功能模块(比如通话或SIM卡的应用),或通过WML内部特定的"intrinsic"动作都可以产生事件。
WML不是以它的文本形式送到终端设备的。相反地,要么WML所在的服务器先将它编译成二进制代码形式,要么URL所指向的源文件实际上是已经编译好的卡片组。然后,浏览器再对这些二进制代码而不是文本进行解释。这样做的好处就是可以允许低带宽和终端设备中处理能力低下的CPU。
WAP语言
WAP语言即WML(无线标记语言,Wirless Markup Language)和WML Script(WML脚本语言)。顾名思义,它是专用于编写无线应用网页的语言。
手机屏幕尺寸有限,为了方便用户浏览信息,WML页面(称为卡片组,Deck)由一组卡片(Card)组成,用户使用翻屏功能在卡片之间切换。每个卡片都有自己的标题和内容。这样从手机用户的角度看来,每个卡片都象是一个独立的"页面"。手机访问一个卡片组时,卡片组中的全部卡片都下载到手机内存中。这样,手机无须多次建立无线连接和等待页面下载。考虑到无线传输速率较低、手机内存有限,卡片组的大小被限制在1.4K以下。WML Script编写的脚本被存储为WLMS格式的文件,WML通过URL方式调用这个文件。用户只有在点击某一调用WML Script的功能时,才会下载WMLS文件并执行它。这样做既节省了手机内存,又减轻了手机处理器的负担。
WML的语法、格式和HTML类似,所以WML页面看起来和HTML页面很像。但WML的标记标签集数量更小,这使它比HTML更适合于在手持设备中使用。WML的语法要求也比HTML严格,如果不按照WML的语法要求编写页面,手机将不能识别页面。WML和WMLScript不要求用户使用常用的PC机键盘或鼠标进行输入,为了方便手机键盘的输入,WML的数据输入原则就是两个字:简单。WML所支持的文件类型极为有限,它只支持WBMP格式的图形文件,不支持其他类型的多媒体文件。所以,我们所看到的WML页面都比较简单,只有文本和图片。

*文章为原作者独立观点,不代表网站的立场
本文由网站发表并编辑,转载此文章须经作者同意,并请附上出处及本页链接。如有侵权,请联系本站删除。

友情连接