ホームページ >php教程 >php手册 >WML ページがキャッシュから読み取られないようにする方法

WML ページがキャッシュから読み取られないようにする方法

WBOY
WBOYオリジナル
2016-06-21 08:58:58937ブラウズ

キャッシュ|ページ

WML ページが WAP デバイスにダウンロードされると、この期間が終了するまでの一定期間、WAP デバイスのメモリに保存されます。この後、ページは WAP デバイスのキャッシュから読み取られるのではなく、サーバーからダウンロードされます。このプロセスはキャッシュと呼ばれます。
しかし、ページをキャッシュからではなくサーバーから読み取らせたい場合もあります。典型的な例としては、サーバーのコンテンツが常に更新されている場合、ページがキャッシュに保存されないことを WAP デバイスに伝えるために、特定のキャッシュ情報が HTTP ヘッダーに追加されます。
サーバー側で HTTP ヘッダーを生成したり、PHP、ASP、Perl、またはその他のサーバー側開発言語を使用したりできます。この行は HTTP ヘッダーであるため、WML 要素ではないため、ページに含めることはできません。
静的ページの場合、多くのブラウザーはブラウザーのキャッシュを制御するための META タグをサポートしていません。このセクションの最後の例を参照してください。
次のコードを HTTP ヘッダーに追加すると、ページはすぐに期限切れになります:
有効期限: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: DD 月 YYYY HH:MM:SS GMT
キャッシュ制御: no-cache、must-revalidate
プラグマ: no-cache
最初の行は、ページがしばらく期限切れであることをマイクロブラウザに伝えます。 2 行目は、ページが最後に変更された日時をブラウザーに伝えます。 DD は、今日の日付、月 YY HH MM SS などに置き換える必要があります。 3 行目と 4 行目も同じ効果があります。ページをキャッシュしないようにブラウザに指示します (3 行目は HTTP 1.1 に適用され、4 行目は HTTP 1.0 に適用されます)。
以下は PHP の例です:
// 正しい MIME タイプを設定します
header("Content-type: text/vnd.wap.wml");
// 過去に期限切れになります
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// 最終更新日、現在
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// キャッシュを防止します、HTTP/1.1
header("Cache-Control: no-cache, must-revalidate");
// Prevent caching, HTTP/1.0
header("Pragma: no-cache");
?>
以下は WebClasses (VB) の使用例です。キャッシュを防ぐには、「Response.Expires=-1」を使用します。
Private Sub WebClass_Start()
'正しい MIME タイプを設定します
Response.ContentType = "text/vnd.wap.wml"

-1
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache, must-revalidate"
) as template
Set NextItem = Basicwml
End Sub
これはASP の例。キャッシュを防ぐために「Response.Expires=-1」も使用します。
<%
Response.ContentType = "text/vnd.wap.wml"
Response.Expires = -1
Response.AddHeader "Pragma", "no-cache"
レスポンス.AddHeader "Cache-Control", "no-cache, must-revalidate"
%>
最後に、META の使用例:

"' target=_blank>
http://www.wapforum.org/DTD/wml_1.1。 xml ">




このデッキはキャッシュに保存されません



次のページは 86400 秒 (24 時間) 後に期限切れになります。

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




このカードはキャッシュ内に 1 日保存されます



カードはリロードされません。この更新アクションを強制するには、ユーザーは META タグで must-revalidate パラメータを使用する必要があります。





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。