zoukankan      html  css  js  c++  java
  • 初识WAP

    目录

    什么是WAP 
    怎样书写WAP的页面 
    WAP上网设置方式 
    WAP的发展状况 
    wml用法列表 
    参考文献

    什么是WAP?

    WAP(Wireless Application Protocol,即无线通讯协议)是一种向移动终端提供互联网内容和先进增值服务的全球统一的开放式协议标准,是简化了的无线 Internet协议(但并不是说你的手机可以直接读取通常所说的web页的内容,它所用的是wml语言有别于通常所说的HTML,这点在下文中会做进一步说明,首先要知道二者其实并不通用,也就是说你无法在电脑上直接用IE打开用wml所写的网页,手机上也不能直接打开HTML所写的页面。)它将 Internet和移动电话技术结合起来,使随时随地访问丰富的互联网络资源成为现实。

    它的诞生是WAP论坛成员努力的结果,WAP论坛是在1997年6月,由诺基亚、爱立信、摩托罗拉和无线星球(Unwired Planet)就共同所组成的。它的目标就是 通过WAP这种技术,就可以将Internet的大量信息及各种各样的业务引入到移动电话、PALM等无线终端之中。无论你在何地、何时只要你需要信息,你就可以打开你的WAP手机,就可以接入internet,就像用家里的大猫、小猫上网一样。

    好了,让我们先来认识一下wap的系统架构,看看它是怎么将我们的手机和Internet联起来的。

    就像HTTP协议一样是一种标准,规定了WEB 服务器与客户浏览器交互的方式、规范。让我们了解一下WEB服务器的工作方式、原理。图 1(下图)表明了客户向URL所指定的WEB服务器发出了请求, WEB服务器根据请求的程序返回相应的内容至客户端,二者就是按HTTP协议进行交互的。客户端发出一个以HTTP开头的URL请求时,WEB服务器端的程序可能是CGI程序、或静态网页,或SERVLET程序,也可能是其他服务器端程序,但它们均以HTML格式将相应的内容返回给客户,这样客户就可在浏览器上的看到返回的内容。 

    按此在新窗口打开图片

    WAP网络架构由三部分组成,即WAP网关、WAP手机和WAP内容服务器,这三方面缺一不可!其中WAP网关起着协议的‘翻译’作用,是联系GSM网与万维网的桥梁;WAP内容服务器存储着大量的信息,以提供WAP手机用户来访问、查询、浏览等。图2(下图)表明了WAP网络的基本架构。每当你从手机键入你要访问的WAP内容服务器的URL后,信号经过无线网络,以WAP协议方式发送请求至WAP网关,然后经过‘翻译’,再以HTTP协议方式与WAP 内容服务器交互,最后WAP网关将返回的内容压缩、处理成BINARY流返回到你的WAP手机屏幕上。同样的,WAP服务器端的程序也可是CGI程序、或静态网页,甚至是ASP,比如国内的一个比较受欢迎的WAP网站Joyes(至少在同学间是这样)就是用ASP写的服务器端。


    按此在新窗口打开图片


    (注:WAP协议包括以下几层: 1、 Wireless Application Environment (WAE)(最左端的那个图示) 2、Wireless Session Layer (WSL)   3、Wireless Transport Layer Security (WTLS) 4、Wireless Transport Layer (WTP) 其中,WAE层含有微型浏览器、WML 、WMLSCRIPT的解释器等等功能。WTLS层为无线电子商务及无线加密传输数据时提供安全方面的基本功能。)

    怎样书写WAP的页面

    下面让我们为放飞网建一个 WAP 页,先来看一下开头要怎么写: 

    <?xml version="1.0" encoding="iso-8859-1"?>  

    首先要告诉你的手机你所要让它显示的语言,否则会出现乱码,显见体中文的话为: 

    <?xml version="1.0" encoding="gb2312"?> 

    之后,还记得之前所提到的那个论坛吗?把它也给写上吧:

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

    和 HTML 一样该写 <> 了,只不过把 HTML 改为 wml 就好了:

    <wml>  

    再往下式网站的标题 (tittle) 部分,由于我们打算在一页里放入两部分内容,所以,可以在前面加上 card 标签和它的 id : 

    <card id="card0" title=" 放飞技术网 wap 版 ">  

    为了让手机里的菜单有此次所写的第一个放飞网 alpha0.01 版 的版本号,可以加上下面的东东(其中, prev 指的是可以让手机后退回上一页,这里我们把它作为主页,可以缺省或换为其它,我们的目的是为了达到类似于在 windows 右键菜单中添加一条可点击的项目一样): 

    <do type="prev" label="alpha0.01 版 "> 

    <prev/>

    </do>
     


    有了 tittle 标题,下一步自然就是内容了,我们选小字体来显示文本内容,并让这些字左对齐(手机中也可以添加 <br> 标签来换行,但手机本身的浏览器具本自动换行功能,也就是说手机里的浏览器自己就会给长的文字自动加上 HTML 中的 <wre> 一样,此功能也可强制在手机中关闭,但我想一般没人愿意这么做 ^ ^ 其中的 <a href> 和 <align> 的用法和 HTML 中的一样):

    <p align="left"> 

    <small> 

    欢迎登陆放飞技术网的wap版,这是它的alpha0.01版,现提供一首歌曲的MIDI下载以及能将手机桌面上 “ 中国移动 ” 四个字去掉的透明网标的下载,谢谢大家的支持。<br/> 

    <a href="/midi/kissingyou.mid">奥林巴斯广告歌</a> 

    <a href="/copl-empty.cod"> 透明网标 </a> 

    </small> 

    </p> 

    <p align="center"> 

    <a href="#card1"> 关于放飞技术网 </a> 

    </p> 

    </card>
     

    之后写另一个 card 标签 card1 来介绍一下放飞网(当点居中的“关于反飞技术网”的链接时,由于 card0 和 card1 都在一个文件中,我们起名为 wap.wml 好了,便会直接从手机中的 cookie 里读取 card1 中的内容,给人的感觉会很快,省去了等待的时间,这也就是用 card 标签的好处了;但是,同时需要指出的是由于 card1 和 0 写了在一个文件里,会被一起传下来,对于可选看的 card1 里的内容不论你是否真的要读,都会算 GPRS 流量划钱,在提高浏览速度和节约流量上这点就要把握一下了): 

    <card id="card1" title=" 关于放飞技术网 "> 

    <do type="prev" label="alpha0.01 版 "> 

    <prev/> 

    </do> 

    <p align="center"> 

    <small> 

    放飞技术网是北京工业大学科协下属的最大的一个学生实践项目,放飞网已经成立了两年了,很快将会迎来它的第三个生日,在此祝愿放飞越办越好^^ 

    </small> 

    </p> 

    <p align="left"> 

    <a href="#card0">[&lt;]</a><br/> 

    </p> 

    </card> 


    </wml> 

     

    上面的“ [&lt;] ”特殊符号 [<] 表示返回(祥见wml用法列表)。 

    最后要记得加上 </wml> ,这样就做好了一个 WAP 版的放飞网演示了,它能够让你的手机下载一个合旋铃声和一个透明的网络标示(前者在三星的不支持 MIDI 仅支持 MMF 格式铃声的手机不能用,后者仅限诺基亚)当中的 cod 文件是类似于你在 PC 上装一份软件时的授权书,这里不细说,在例子文件中有源文件供参考。 

    WAP上网设置方式 

    也许你还不知道你手里的手机很可能只需要简单的设置一下就可以浏览WAP页了,照着做试试看吧:

    首先,请先确定你的手机支持WAP并且最好是支持GPRS的,那么就继续吧

    对于中国移动的用户来说,你可以有两种选择方式:

    动感用户:

    如果你是动感地带的用户,那么你的手机必须支持GPRS,因为动感地带默认不提供拨号方式接入网络,设置如下:

    1、开通WAP服务

    申请方法1 你可以持本人身份证到当地中国移动通信营业厅办理申请手续。 
    申请方法2(推荐,全自动,按键即可开通) 你也可以在打当地的1860热线办理开通WAP服务 

    2、设置WAP

    连接名称:移动梦网(GPRS) 
    数据承载方式:GPRS 
    接入点名称:cmwap 
    鉴定:普通 
    网关IP地址:10.0.0.172 
    MMSC URL地址:http://mmsc.monternet.com (彩信用,以及http://wap.monternet.com
    连接安全:关 
    连接类型:永久

    用户名和密码都为空。

    费用如下:

      月租费 免费流量数(MB) 超过后流量费(元/KB) 
    自由套餐 0 0 0.03 
    经济套餐 20 1 0.01 
    时尚套餐 100 20 0.01 
    商务套餐 200 不限量使用 不限量使用 

    全球通用户:

    如果你是全球通用户,除了上面提到的以GPRS方式接入外还可以选择拨号的方式,设置如下:

    连接名称:移动梦网(CSD) 
    数据承载方式:数据 
    拨号号码:17266

    接入点名称:cmwap 
    鉴定:普通 
    网关IP地址:10.0.0.172 
    MMSC URL地址:http://mmsc.monternet.com (彩信用,以及http://wap.monternet.com
    数据通话类行:模拟

    连接安全:关 
    连接类型:永久

    用户名为wap。

    对于神州行的用户,好像中国移动并不提供接入上网服务!

    WAP的发展状况

    正如许多人想象, WAP 手机上网和普通的电脑上网有很大的差别。由于 WAP 手机内存不大、屏幕小及无线频带窄,目前 WAP 手机所显示的网页内容主要是文字,也有一些较小的图片,但仅有黑、白和灰色三种颜色。业界专家指出,能够让手机和手持电脑成为上网工具的 WAP 技术将是互联网技术的下一个热点。不过,手机上网真要流行开,还有两个前提,那就是一来 WAP 必须解决好目前还不便于操作的问题,二者需要网络运营商加紧 WAP 网的基本建设,使 WAP 手机有用武之地。 

    WAP 手机可收发电子邮件、阅读新闻和股市行情,但是更复杂的通信应用,如在线采购和视频会议,目前的移动通信网运行速度就无法达到要求了。于德国汉诺威开幕的 Cebit 技术博览会上,对移动通信进行全面“提速”从而使互联网实现移动,是与会者一个热烈讨论的话题。 

    据爱立信公司预计,到 2004 年移动互联网用户将达到 6 亿。而美国研究机构弗莱斯特公司 (Forrester Research) 公布的数据显示, 2004 年,欧洲三分之一的人将使用手机购物和收取网上信息。 

    在这场争夺移动互联网用户的竞争中,日本先行一步。今年日本第一个基于宽带码分多址技术的第三代移动通信网将投入运营。欧洲将紧随其后 。。。 。。。 

    而中国自己的无限通讯标准WAPI凭借自身的安全性在技术上完全击败了WI-FI,在WI-FI阵营中的Philips等公司已向中国势好,这证明中国这次也有了具有自行只是产权的标准,迫于各方面各方面的压力这个标准定于2004年6月开始实行,我们一起等待着这一天的到来。。。 。。。 

    wml用法列表

    Decks and cards Timers Variables Anchored links Layout and text formatting  
    Events Tasks  Images  User input Special characters 

    Decks and cards

    Element  Syntax 
    <wml> <wml> 
    <wml xml:lang="lang" >
    content
    </wml> 
    <card> <card id="name"
    title="label"
    newcontext="boolean"
    style="style"
    onenterforward="url"
    onenterbackward="url"
    ontimer="url" >
    content
    </card>  
    <template> <template onenterforward="url"
    onenterbackward="url"
    ontimer="url" >
    content
    </template>  
    <head> <head> 
    content
    </head>  
    <access>  <access domain="domain"
    path="path" />  
    <meta> <meta name="name"|http-equiv="name"
    content="value"
    forua="true | false" />  

    Timers 

    Element  Syntax 
    <timer>  <timer name="variable"
    value="value" />  

    Variables 

    Element Syntax  
    <setvar> <setvar name="name"
    value="value" />  


    Anchored links

    Element  Syntax  
    <anchor>   
    <a> <a title="label" >
    task
    text
    </a>  

    Events 

    Element  Syntax 
    <do> <do type="type"
    label="label"
    name="name"
    optional="boolean" >
    task
    </do>  
    <onevent>  <onevent type="type" >
    task
    </onevent>  

    Tasks 

    Element Syntax 
    <go> <go href="url"
    sendreferer="boolean"
    method="method"
    accept-charset="charset"
    content
    </go>  
    <prev>  <prev> 
    content
    </prev>  
    <noop> <noop/>  
    <refresh> <refresh> 
    content
    </refresh>  

    Images 

    Element Syntax 
    <img> <img alt="text"
    src="url"
    localsrc="icon"
    align="alignment"
    height="n"
    width="n"
    vspace="n"
    hspace="n" />  

    User input 

    Element Syntax 
    <input> <input name="variable"
    title="label"
    type="type"
    value="value"
    default="default"
    format="specifier"
    emptyok="boolean"
    size="n"
    maxlength="n"
    tabindex="n" />  
    <select>  <select title="label"
    multiple="boolean"
    name="variable"
    default="default"
    iname="index_var"
    ivalue="default"
    tabindex="n" >
    content
    </select>  
    <option>  <option title="label"
    value="value"
    onpick="url" >
    content
    </option>  
    <optgroup>  <optgroup title="label" >
    content
    </optgroup> 
     
    <fieldset> <fieldset title="label">
    content
    </fieldset>  

    Layout and text formatting

    Element Syntax  
    <b> <b> 
    text
    </b>  
    <big>  <big> 
    text
    </big>  
    <em>  <em> 
    text
    </em> 
    <i> <i> 
    text
    </i>  
    <p>  <p align="alignment"
    mode="wrapmode" />  
    <small>  <small>
    text
    </small>  
    <strong> <strong> 
    text
    </strong>  
    <table> <table align="alignment" 
    title="label" 
    columns="n"/>  
    <td> <td>content</td> 
    <tr> <tr> 
    <td>content</td> 
    </tr>  
    <u>  <u> 
    text
    </u> 

    Special characters

    Element Display character  
    &lt; < (less than) 
    &gt; > (greater than) 
    &apos; ' (apostrophe) 
    &quot; " (quote) 
    &amp; & (ampersand)  
    $$  $ (dollar sign) 
    &nbsp; Non-breaking space 
    &shy; Soft hyphen  

  • 相关阅读:
    C# 图片与Base64的相互转化
    LeetCode 303. Range Sum Query – Immutable
    LeetCode 300. Longest Increasing Subsequence
    LeetCode 292. Nim Game
    LeetCode 283. Move Zeroes
    LeetCode 279. Perfect Squares
    LeetCode 268. Missing Number
    LeetCode 264. Ugly Number II
    LeetCode 258. Add Digits
    LeetCode 257. Binary Tree Paths
  • 原文地址:https://www.cnblogs.com/shf/p/491985.html
Copyright © 2011-2022 走看看