分享
 
 
 

怎样防止从Cache中读取WML页面

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

当WML页面下载到WAP设备后,它将保存在WAP设备内存中一段时间,直到这个时间过期。在这之后,页面将从服务器下载,而不是从WAP设备的缓存读取。这个过程被称做Cache。

但是有些时候不想让页面从缓存中读取,而是从服务器端读取。一个典型的例子就是当服务器的内容不断在更新的时候,通过在HTTP头中加入一定的cache信息,来告诉WAP设备该页面将不存储在缓存中。

可以在服务器端生成HTTP头,或者使用PHP、ASP、Perl或者其他服务端开发语言。这一行不能被包括在页面里,既然是HTTP的信息头,就不是WML元素。

对于静态页面,或许没有使用服务器端脚本语言,许多浏览器支持META标签来控制浏览器的Cache。看本部分的最后的例子。

将下面代码加入到HTTP头中,页面将马上过期:

Expires: Mon, 26 Jul 1997 05:00:00 GMT

Last-Modified: DD. month YYYY HH:MM:SS GMT

Cache-Control: no-cache, must-revalidate

Pragma: no-cache

第一行告诉微型浏览器,页面已经过期一段时间了。第二行告诉浏览器页面最后一次修改的时间。DD应该换成当天的日期,month YY HH MM SS等等类推。第三行和第四行有同样的效果。告诉浏览器页面不被Cache(第三行适用于 HTTP 1.1,第四行适用于HTTP 1.0)。

下面的是PHP的一个例子:

<?

// set the correct MIME type

header("Content-type: text/vnd.wap.wml");

// expires in the past

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

// Last modified, right now

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

// Prevent caching, HTTP/1.1

header("Cache-Control: no-cache, must-revalidate");

// Prevent caching, HTTP/1.0

header("Pragma: no-cache");

?>

下面是使用WebClasses(VB)的例子。使用"Response.Expires=-1",防止Cache。

Private Sub WebClass_Start()

'Set correct MIME type

Response.ContentType = "text/vnd.wap.wml"

'Make sure no caching

Response.Expires = -1

Response.AddHeader "Pragma", "no-cache"

Response.AddHeader "Cache-Control", "no-cache, must-revalidate"

'Use basicwml(my own) as template

Set NextItem = basicwml

End Sub

这里有一个ASP的例子,同样使用“Response.Expires=-1”防止Cache。

<%

Response.ContentType = "text/vnd.wap.wml"

Response.Expires = -1

Response.AddHeader "Pragma", "no-cache"

Response.AddHeader "Cache-Control", "no-cache, must-revalidate"

%>

最后是使用META的例子:

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"' target=_blankhttp://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<head>

<meta forua="true" http-equiv="Cache-Control" content="max-age=0"/>

</head>

<card id="alwaysexpire">

<p>This deck will never be stored in the cache</p>

</card>

</wml>

下面的页面是在经过86400秒(24 hours)后过期。

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"' target=_blankhttp://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<head>

<meta forua="true" http-equiv="Cache-Control" content="max-age=86400"/>

</head>

<card id="expire1day">

<p>This card will live in the cache for a day</p>

</card>

</wml>

有些浏览器例如:UP.Simulator如果可以通过“返回”达到另外一个卡片,那么它将不会重新装载卡片。为了强制这个更新动作,用户必须在META标签中使用must-revalidate 参数。

<meta forua="true" http-equiv="Cache-Control" content="must-revalidate"/>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有