WAP页面不能正常获取HTTP_REFERER测试

经多台移动设备测试发现:在WAP页面中并不总能获取到HTTP_REFERER的值。查了多方资料,看到了这么一段说明:

引用内容 引用内容
当HTML浏览器从一个URL到另外一个URL的时候,它默认地会发送一个叫做 Referer的 HTTP头给服务器,告诉它在浏览这个页面之前的那个页面。这是一个非常有用的特点,在WAP环境中同样也有。但是既然这个信息来自用户代理(浏览器)、WAP设备,通常为了节约带宽和时间,就被省略了。为了使用 Referer ,应该在<a>,<go>等标签中加入sendreferer参数,并设置为true,这样就会把参考的URL发送到服务器。

做了个测试:

a.aspx:
<%@ Page Language="C#" %><?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">

<script runat="server">

</script>

<wml>
<card title="Wap">
<p>
        <a href="b.aspx" sendreferer="true">b.aspx</a>
</p>
</card>
</wml>

b.aspx:
<%@ Page Language="C#" %><?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">

<script runat="server">

</script>

<wml>
<card title="Wap">
<p>
        <% =Request.ServerVariables["HTTP_REFERER"]%>
</p>
</card>
</wml>

再使用移动设备测试,能发送REFERER了,但并不完整,在b.aspx中大都只显示"a.aspx"。Nokia5800不加sendreferer时能正常显示REFERER,加了后都显示"a.aspx"了。

这还只是单个站上测试,实际使用中我们不能保证其他WAP站链接都带sendreferer。从测试结果来看:WAP页面要像HTML那样正常获取HTTP_REFERER的值,可能性不大。

评论: 0 | 引用: 0 | 查看次数: 5058
发表评论
登录后再发表评论!