国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

怎樣防止從Cache中讀取WML頁(yè)面

2024-05-04 23:04:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

當(dāng)wml頁(yè)面下載到wap設(shè)備后,它將保存在wap設(shè)備內(nèi)存中一段時(shí)間,直到這個(gè)時(shí)間過(guò)期。在這之后,頁(yè)面將從服務(wù)器下載,而不是從wap設(shè)備的緩存讀取。這個(gè)過(guò)程被稱做cache。
但是有些時(shí)候不想讓頁(yè)面從緩存中讀取,而是從服務(wù)器端讀取。一個(gè)典型的例子就是當(dāng)服務(wù)器的內(nèi)容不斷在更新的時(shí)候,通過(guò)在http頭中加入一定的cache信息,來(lái)告訴wap設(shè)備該頁(yè)面將不存儲(chǔ)在緩存中。
可以在服務(wù)器端生成http頭,或者使用php、asp、perl或者其他服務(wù)端開(kāi)發(fā)語(yǔ)言。這一行不能被包括在頁(yè)面里,既然是http的信息頭,就不是wml元素。
對(duì)于靜態(tài)頁(yè)面,或許沒(méi)有使用服務(wù)器端腳本語(yǔ)言,許多瀏覽器支持meta標(biāo)簽來(lái)控制瀏覽器的cache。看本部分的最后的例子。
將下面代碼加入到http頭中,頁(yè)面將馬上過(guò)期:
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
第一行告訴微型瀏覽器,頁(yè)面已經(jīng)過(guò)期一段時(shí)間了。第二行告訴瀏覽器頁(yè)面最后一次修改的時(shí)間。dd應(yīng)該換成當(dāng)天的日期,month yy hh mm ss等等類推。第三行和第四行有同樣的效果。告訴瀏覽器頁(yè)面不被cache(第三行適用于 http 1.1,第四行適用于http 1.0)。
下面的是php的一個(gè)例子:
<?
// 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 
這里有一個(gè)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"
"http://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>
下面的頁(yè)面是在經(jīng)過(guò)86400秒(24 hours)后過(guò)期。
<?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 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如果可以通過(guò)“返回”達(dá)到另外一個(gè)卡片,那么它將不會(huì)重新裝載卡片。為了強(qiáng)制這個(gè)更新動(dòng)作,用戶必須在meta標(biāo)簽中使用must-revalidate 參數(shù)。
<meta forua="true" http-equiv="cache-control" content="must-revalidate"/>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 方城县| 北辰区| 上林县| 九龙坡区| 信宜市| 灵丘县| 吴忠市| 林芝县| 宝清县| 濮阳县| 仁化县| 宁远县| 黄石市| 清徐县| 普洱| 兴国县| 鄂托克前旗| 庄浪县| 梅州市| 仪征市| 陇南市| 华安县| 玉屏| 寿光市| 聂荣县| 宣武区| 泰来县| 海盐县| 锦州市| 德清县| 泰顺县| 辉南县| 友谊县| 佛冈县| 浦东新区| 应城市| 阿拉尔市| 新安县| 西和县| 垫江县| 万州区|