web-dev-qa-db-ja.com

HTMLページのキャッシュを防ぐ

HTMLページがあります。問題は、新しいコンテンツを作成するたびにユーザーにページを更新してもらいたくないことです。

ページがキャッシュされていないことを確認するために、次のコードがあります。

     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
     <meta http-equiv="Pragma" content="no-cache"/>
     <meta http-equiv="Expires" content="0"/>

問題は、最新のコンテンツを表示するためにページを更新する必要があることです。私は何か間違っていますか?他のタグを使用する必要がありますか?

27
Nate Pet

そこにある値は問題ありませんが、 meta http-equivは非常に信頼性が低い 。実際のHTTPヘッダーを使用する必要があります(これを行う方法の詳細は、サーバーによって異なります(例: for Apache ))。

11
Quentin

示したCodesnippetは、アクセスするたびにブラウザーがWebサイトをロードするようにします。これは、頻繁に更新を実行する場合に便利ですが、静的なページが残っています。

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>

たとえば(g)メールアカウントのようにライブ更新を実行する場合は、更新する必要があります(一部のページ)自体。この場合、 この質問では またはajax呼び出しのように、Javascriptを使用します。

$('#something').click(function() {
    location.reload();
});
25
Garrin