wap服务器简易搭建

WML(无线标记语言)是一种脚本语言,它比HTML编写的内容消耗网络浏览器更少的内存与CPU时间,使得它对移动设备更加友好。WML是继承于HTML而来的语言,但是基于XML,所以较为严格。(WML使用WMLScript在客户端运行简单的代码)

如何搭建wap网站呢,我们需要设置IIS服务器MIME类型扩展(win2003里面的IIS可能需要做如下配置)

.wbmp image/vnd.wap.wbmp 
.wml text/vnd.wap.wml 
.wmlc application/vnd.wap.wmlc 
.wmls text/vnd.wap.wmlscript 
.wmlsc application/vnd.wap.wmlscriptc 
.wsc application/vnd.wap/wmlscriptc
好在Win7内置的IIS已经默认做好了配置,我们就直接编写wml网页吧,代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
	<meta http-equiv="Cache-Control" content="max-age=0"/>
	<meta http-equiv="Cache-Control" content="no-cache"/>
</head>
<card id="main">
	This is a wap website,please use opera to visit it!
</card>
</wml>
可以看出和标准的html编码规范类似,html被wml替换掉了,body被card替换掉了,用opera浏览器(其他浏览器貌似没有做wml的解析)访问test.wml页面试试,顺利的话可以看到如下页面。

如果想要服务器支持asp生成wml文件,需要添加如下两行代码:

<%@ Language=VBScript %>
<% Response.ContentType="text/vnd.wap.wml" %>

分别表示用vbscript解释器解释此脚本文件,内容的类型是wml格式,如下创建一个test.asp文件

<?xml version="1.0"?>
<%@ Language=VBScript %>
<% Response.ContentType="text/vnd.wap.wml" %>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
	<meta http-equiv="Cache-Control" content="max-age=0"/>
	<meta http-equiv="Cache-Control" content="no-cache"/>
</head>
<card id="main">
	<% Response.Write("This is a wap website,please use opera to visit me!") %>
</card>
</wml>
网上很多例子都说把上面需要添加的两行代码放在<?xml ... 的前面,我这边测试总会提示说 xml 解析失败,可能是新的xml标准需要文件头必须是xml标识吧,上面的代码运行也是正确的。

wap服务器简易搭建_第1张图片

接着用php来生成wap网页也很方便,示例代码如下,文件test.php:

<?php
Header("Content-type: text/vnd.wap.wml");
Header("Cache-Control: no-cache, must-revalidate");
Header("Pragma: no-cache");
echo "<?xml version='1.0'?>";
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
	<meta http-equiv="Cache-Control" content="max-age=0"/>
	<meta http-equiv="Cache-Control" content="no-cache"/>
</head>
<card id="main">
	<?php echo "<p>php test</p>"; ?>
</card>
</wml>

虽然搭建基于wml的网站如此简单,可是功能上还是简单了一点,比如我最近想获取wap请求的referer头信息就不是一件容易的事情,wml1.1中规定需要结合go标签来实现,所以开发wap应用和web应用时需要注意,两者对于HTTP协议的支持是有区别的。

个人认为随着智能手机,智能终端的普及,表现力更为丰富的HTML还是会取代WML成为移动设备的标准吧,毕竟现在看来只有一些低端非智能机还在使用WML,更多的VPS(虚拟专用服务器)提供商也慢慢地从wml转移到html上面来了。

你可能感兴趣的:(wap服务器简易搭建)