Webサイトの静的ファイルキャッシュの処理
Webサイトの開発では、css、jsファイルをさらに実行するたびに、トラフィックキャッシュをクリーンアップする必要があります.現在、いくつかの解決策が提供されています.
1.Ajaxの要求(静的データでも動的データでも):
//以下の3つの方法はいずれの方法でも可能です
//または
//または
prototypeを使用する場合.jsは、このようなコードを使用します.
2.cssの場合、jsファイル処理
cssのためjsはこのようにロードされるので、aspのようなサーバ側でキャッシュを禁止する方法は難しい.ajaxのhttpリクエストヘッダを設定することでキャッシュの使用を禁止することも難しい.
乱数はいい方法のようだ.
ただし、乱数を使用するとjsファイルはキャッシュされず、変更がなくてもサーバから再ロードする必要があります.海外のサイトに頻繁にアクセスすると、このような方法で解決されていることがわかります.
ここでver=113はバージョン番号であり、CVSや他のツールで生成される開発バージョン番号が一般的である.
これにより、キャッシュすべきときに静的ファイルをキャッシュし、バージョンが更新されたときに最新のバージョンを取得し、キャッシュを更新することができます.画像
1.Ajaxの要求(静的データでも動的データでも):
//以下の3つの方法はいずれの方法でも可能です
xmlhttp.setRequestHeader("Cache-Control","no-cache");
//または
xmlhttp.setRequestHeader("If-Modified-Since","0");
//または
- xmlhttp.Open(url+‘?rnd=‘+Math.random(),....);
prototypeを使用する場合.jsは、このようなコードを使用します.
- new Ajax.Request(url,{method:"get",requestHeaders:["Cache-Control","no-cache"]});
- //
- new Ajax.Request(url,{method:"get",requestHeaders:["If-Modified-Since","0"]});
2.cssの場合、jsファイル処理
cssのためjsは
乱数はいい方法のようだ.
- //方法一:
- document.write("<script src=\'#\'" /span>+Math.random()+"‘></s"+"cript>");
-
- //方法二:
- var js=document.createElement("script");
- js.src="test.js"+Math.random();
- document.body.appendChild(js);
ただし、乱数を使用するとjsファイルはキャッシュされず、変更がなくてもサーバから再ロードする必要があります.海外のサイトに頻繁にアクセスすると、このような方法で解決されていることがわかります.
<script src="test.js?ver=113"></script>
ここでver=113はバージョン番号であり、CVSや他のツールで生成される開発バージョン番号が一般的である.
これにより、キャッシュすべきときに静的ファイルをキャッシュし、バージョンが更新されたときに最新のバージョンを取得し、キャッシュを更新することができます.画像