现在的位置: 首页 > 综合 > 正文

WAP常见问题问答大全5

2013年10月15日 ⁄ 综合 ⁄ 共 2672字 ⁄ 字号 评论关闭

31. WML页面的限制是多少?

    由于WAP设备只有很少的内存,因此就存在着一个最大的WML deck的界限。这里没有一个绝对的标准,根据浏览器的不同而不同。表10-5列出了几种浏览器的限制。
   
注意WML deck的大小是指编码压缩成二进制格式下的大小,一个没有压缩的WML deck可能很大,但是压缩后可能比较小。

10-5 不同浏览器的限制

浏览器

压缩后的WML大小限制

UP.Browser 3.2

1492 bytes

UP.Browser 4.x

2048 bytes

Ericsson R320

大约3000 bytes

Ericsson R380

大约3500 bytes

Ericsson MC218

多于8000 bytes

Nokia 7110

1397 bytes

 

32. 如何防止对WML页面的非法访问?

    WAP可以防止通过HTTP协议对文件和目录的非法操作。注意:有些WAP模拟器和虚拟的WAP浏览器可能不支持这个特点。在这个时候是不知道是否有可能使用其他类型的验证方式。
   
为了使用这种方式,用户的HTTP服务器必须支持这个特点,其实大多数服务器都支持。当一个WAP浏览器请求一个URL,它将提醒用户输入用户名和密码。这些都转换成无法直接阅读的字符,但不是加密。也就是说如果网络上有人在使用合适的设备监听,那么用户名和密码将被泄露。
   
这个特点在Apache文档中有详细的说明,但是文档的描述很弱,这里有如何在Apache HTTP服务器上配置的说明:

    要保证Apache已经配置过,使得一个名叫.htaccess的文件可以覆盖全局的操作配置。操作配置既可以在每个目录使用分离的文件,也可以在全局的access.conf中。但是在这个例子中,我们将集中在.htaccess文件上。并且检查AllowOverride的设置。这个必须设置到AuthConfig,那样意味着Apache在目录中寻找.htaccess文件,并且使用该文件中的规则。记住在配置后要重新启动Apache服务器。
   
下一步是在目录里放置需要保护的文件叫做.htaccess。(注意点代表文件名的开头)。一个.htaccess文件的基本内容如下:

AuthType Basic
AuthName "WAP FAQ Authentication Demo"
AuthUserFile /home/httpd/html/wap-faq/extras/auth/auth.passwd
require valid-user
 

    AuthType设置是指定验证的类型,AuthName指定领域,AuthUserFile指定口令文件的位置,require指定所想得到的操作。在这个例子中,任何在口令文件中的用户都有一个正确的口令。
   
现在需要产生一个口令文件,Apache使用一个叫做 .htpasswd来完成这个特殊格式文件的生成。运行程序如下:

#htpasswd /home/httpd/html/wap-faq/extras/auth/auth.passwd demo
New password:
Re-type password:
Adding password for user demo

    注意:在第一次创建文件的时候,必须使用“-c”选项。
   
现在加入了一个叫做“demo”的用户,并且输入了他的密码两次。考虑到安全的原因,口令文件不应该放在文件根目录下。笔者在这里只是做演示。
   
现在最后就是测试,笔者建议使用HTML浏览器。输入含有想保护的URL目录的地址,一个对话框就会弹出来询问用户名和口令。如果一切顺利,就可以使用WAP浏览器来测试了。
   
一个目录保护的例子在这个服务器上,用户名是demo,口令是demo。可以使用HTML或者WML浏览器来做测试。
   
这个例子同样可以通过输入http://wap.colorline.no/demos.html来得到。
   
或者只要点到保护的区域:
        http://wap.colorline.no/wap-faq/extras/auth/
   
或者查看.htaccess文件。
   
最后点击查看口令文件的内容。

33. 怎么使用非拉丁字符?

    在文件开头加上:
        encoding="ISO-8859-1"?
   
或者:
        encoding="UTF-8"?

    ISO-8859-1UTF-8编码支持更多的字符。

34. 一些特殊字符破坏了代码和连接该怎么办?

    锚/链接有时候包含了一些字母和数字之外的字符。典型的如:“~”(波浪号)和“&”(与号)。如果根据书编程,就应该告诉WAP浏览器使用的是什么字符集。这个在XML定义中可以完成:

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

    “iso-8859-1”Latin字符集。这个应该在大多数场合下能满足需要。但是,还是需要对那些转义字符进行转义。即使指定了字符集,也是没有用处的。
   
字符实体是某些特殊字符的标准名字,例如:“&”就是“&”
   
大多数浏览器在反编码名字实体的时候会出现问题,例如Nokia列出了7个兼容的名字实体:“quot”“amp”“apos”“lt”“gt”“nbsp”“shy”。只有在使用它们的十进制代码的时候(在上述所说的Link中),浏览器可以显示几乎所有字符。如果Nokia的浏览器接收到无法支持的实体名,它就会崩溃。
   
通过使用HTML或者WML浏览器(在HTML格式下,虽然不是很好),可以操作在线的实体名列表,该列表在http://wap.colorline.no/wap-faq/apps/charentref.html
   
这个表同样有一个例子在:http://wap.colorline.no/demos.html
   
第一步,选择将要使用的字符集,Latin1Latin1 MathematicalGreek symbols,最后是Latin1 Markup symbols。注意到列表被分割了,是由于deck的限制。真正的列表显示了实体名,实体的十进制值和真正的符号。从这里就可以看到哪个字符浏览器可以显示。
   
注意上面的在线列表,不要设置为“charset=iso-8859-1”(真正的Latin1),那是个XML定义。

35. 可能在WML页面上显示一个可选的Link吗?当用户选择后就可以直接拨号?

现在不行。但是一旦支持WTAI的设备出现,那么就可能实现。

 

抱歉!评论已关闭.