当前位置: 移动技术网 > IT编程>网页制作>XML > 非常不错的WAP常见问题问答大全(二)第3/3页

非常不错的WAP常见问题问答大全(二)第3/3页

2017年12月08日  | 移动技术网IT编程  | 我要评论
wap常见问题问答大全(二) 二、关于wml的常见问答 1. 简单说wml代表什么?     wml代表“wireless

30. wml页面的最大大小是多少?
    1397 bytes/deck
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-1和utf-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。
    第一步,选择将要使用的字符集,latin1,latin1 mathematical和greek symbols,最后是latin1 markup symbols。注意到列表被分割了,是由于deck的限制。真正的列表显示了实体名,实体的十进制值和真正的符号。从这里就可以看到哪个字符浏览器可以显示。
    注意上面的在线列表,不要设置为“charset=iso-8859-1”(真正的latin1),那是个xml定义。
35. 可能在wml页面上显示一个可选的link吗?当用户选择后就可以直接拨号?
现在不行。但是一旦支持wtai的设备出现,那么就可能实现。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网