当前位置:Linux教程 - Apache - 无线世界里的Apache

无线世界里的Apache



        

    内容:
    . 介绍
    . WAP!
    . WML
    . 配置 Apache
    . 开发仿真

    ▲ 介绍
    无线因特网理论上可以为任何人在任何地点服务。把信息通过无线世界发送到移动电话或PDA 和传统的因特网服务很相似但是却不是完全一样。因为两者在物理尺寸和通信速度以及其他各方面都有很多种差别。因此人们为无线世界开发了新的协议。WAP 和 WML 是其中的脊梁骨。
    把Apache 放入其中是很自然而且很合身的。

    ▲ WAP!
    为Apache 配置无线传送数据的能力相对比较简单。有线因特网世界传送数据是用TCP/IP协议的。这个协议帮助数据包通过网络上复杂的路径,为了维护系统上的通讯流量有时候需要经常改变路径。无线通信设备的供应商,像Nokia 和 Motorola,意识到采用和有线网络不同原理的数据路由系统系统十分必要。

    这样就诞生了 WAP(无线应用协议Wireless Application Protocol)。因为无线空间比之有线空间与生俱来的脆弱性,WAP 被设计成能安全地把数据“推”到各种不同的无线网络拓扑。理论上任何操作系统都能支持WAP,但是,事实上需要WAP 功能的都只是一些体积小的,像移动电话和PDA 之类的东西。

    尽管WAP 作为一个协议能够推送当前的各种数据格式,像HTML,但是随着WAP设备的小型化,对这些各种编码格式的文档的呈现也越有限制,因为开发这些格式时,人们的思维还处在桌面显示器时代。这样,就需要一个WAP 伴侣,试之在无线设备的狭小空间内能很好地展示这些文档。

    ▲ WML
    在圣经时代,如果有人在写关于在无线网络上传输内容的文章,他或许曾经说过:“就像无线产生WAP,WAP 结果产生WML \"。WML(无线标记语言Wireless Markup Language)对于那些曾经在无数的Web 页面背后用HTML 工作过的人来说,激起的是同一根琴弦。实际上,WML 是XML 的一个特别的实现,定义了一种适应小型设备的标记语法和结构。

    HTML 和WML 在操作上稍有不同,HTML 的前提是目前无处不在的“页面”,而WML 的前提是“一手牌”。实际上,HTML 文档代表一个简单的Web 页面,而WML 文档代表一手牌,可能有一张或更多张牌。对这手牌的浏览主要是牌的交换,无论是按顺序还是按超链接。

    请记住,在背后驱动WML 的是一种小型甚至是微型的屏幕,不能显示很多信息,有时候只能四五行字,这样除了偶尔的几个小徽标外,就没有留给图像的空间了,许多文本是一样大小的,而且屏幕经常是单色的。因此,在无线网络中真正的实力不是复制有线空间里的内容,而是面对小型的,热点的小片数据,像天气预报,体育比赛比分或者旅游预订。

    象HTML 一样,WML 文档建立时是一种文本文件。虽然我们不是开WML 讲座,但是,还是先来看简单的WML 的一手牌,来感受Apache 能发送给无线设备的数据类型。我们建立的这手牌包括两张牌:第一张是欢迎,并且链接到第二张,第二张是一些虚假的WML 页面。






    I can\t say much, since this screen is tiny.

    Why don\t you visit my favorite WAP links.




    These are some WAP sites I would love, if they existed.


    Tiny cat pictures

    The weather

    One click jelly bean ordering





    尽管和HTML 不一样,以上WML 的样式和HTML 还是十分相似的。如果我们曾经在实际的电话里看到过以上的WML 页面,假设是通过一个正确配置的Apache 服务器,结果就可能是这样:
    (图形)

    ▲ 配置 Apache
    大多数情况下,Web 服务器不需要为发送WML 页面做太多的调整。对Apache 来说,只需要让他根据文件名的后缀来认识文件的MIME 类型就可以了。Apache 会把MIME 类型发送给浏览器,假设浏览器认识WML,它就知道怎么去处理WML 类型的文件了。

    最新版本的Apache 能通过文件httpd.conf 来完全配置。通过文本编辑器,找到定义MIME 类型的那节:

    #
    # AddType allows you to tweak mime.types without actually editing it, or to
    # make certain files to be certain types.
    #
    # For example, the PHP3 module (not part of the Apache distribution)
    # will typically use:
    #
    #AddType application/x-httpd-php3 .phtml
    #AddType application/x-httpd-php3-source .phps

    AddType application/x-tar .tgz

    以下可以为Apache 增添WML 类型了,我们简单地粘贴如下:

    #WML/WAP types
    AddType text/vnd.wap.wml .wml
    AddType application/vnd.wap.wmlc .wmlc
    AddType text/vnd.wap.wmlscript .wmls
    AddType application/vnd.wap.wmlscriptc .wmlsc
    AddType image/vnd.wap.wbmp .wbmp

    基本的WML 文件使用MIME 类型 text/vnd.wap.wml。在以上的配置中,我们告诉Apache 当文件名以 .wml 结尾时,发送这种MIME 类型。同样地,另外的WML 变体也有对应的MIME 类型。.wmlc 表示压缩的WML 文件,.wmls 以及 .wmlsc 分别表示 WML 脚本语言和压缩的WML 脚本语言,更进一步,.wbmp 表示无线的 bitmap 文件,或者 WBMP,无线设备支持的一种图像格式。

    配置好httpd.conf 后,Apache 需要重新启动才能让 MIME 设置生效,一旦重新启动,Apache 就可以把WML 以及相关文档发送到无线设备上了。


    ▲ 开发仿真

    你或许会想,配置Apache 在理论上如此完美,那么我们在没有无线电话的情况下,怎么知道效果呢?我们不是在瞎搞吗?

    幸运地是,我们没有。如果你在开发WML,并且想要测试你的Apache 配置,检查phone.com 的 UP.SDK包,它包含了十分强大而方便的UP 仿真器。UP 代表\"Unwired Planet\",它会在你的桌面上显示一个虚拟的蜂窝电话,你可以在因特网(用你普通的有线方式联结)上联结任何的WML 页面。

    这个仿真器甚至包含了可以替换的“皮肤”,或者叫做不同型号的移动电话的模板,你可以看到WML 页面在不同的屏幕大小和不同的供应商的产品型号下的表现。这款仿真器对于原型开发WML 的页面来说真的是个好东西。

    原文出处:http://webcompare.internet.com
    发布人:netbull 来自:九头鸟