[解決済み] デプロイメント後にキャッシュを強制的にリフレッシュする
質問
HTMLファイルを参照しているURIを変更できない場合(たとえば、タイムスタンプのパラメータを追加できない)、クライアントのキャッシュに強制的に再読み込みをさせる方法はありますか?
以下は私の状況です。
- 1000人のユーザーにデプロイされたプラグイン
-
そのプラグインのロード
example.com/page.html
を呼び出す。script.js
-
リソースURI
example.com/page.html
変更不可(プラグインアップデートなし) -
page.html
が変更されました。古いpage.html
をユーザーのキャッシュから削除し、新しいpage.html
を読み込むことができます。
何か思い当たることはありますか?Htaccessは?古い&新しいPHP APIが使用されています。
page.html
を呼び出すのですか?
ありがとうございます。
解決方法は?
なぜなら、ブラウザはキャッシュされたページが古いと判断する前に、わざわざ再確認することはないからです。ユーザー全員に、Ctrl+F5を押すように通知する郵便を送るしかないでしょう(笑)。
しかし、ブラウザがキャッシュされたバージョンを提供する前に、少なくとも HEAD リクエストを試して、変更されたタイムスタンプをチェックする可能性があります。この場合、以下の方法が役に立ちます。
ブラウザは、HTTP標準ヘッダを使用して、ウェブサーバからコンテンツをネゴシエートします。今後、ブラウザにファイルをキャッシュしないように指示したい場合は、適切な HTTP ヘッダを送信する必要があります。PHP でこれを行うには、HTTP 標準ヘッダを使用します。
header
関数を使用して、適切な HTTP ヘッダーをブラウザに送信します。
header('Cache-Control: no-cache');
header('Pragma: no-cache');
もし、HTMLで行う必要がある場合は、ページのヘッダーに以下のように記述することができます。
<meta http-equiv="Expires" content="Tue, 01 Jan 1995 12:12:12 GMT">
<meta http-equiv="Pragma" content="no-cache">
しかし、ブラウザがページをキャッシュしないという要求を守るかどうかを確認する方法はありません。eTagsやその他いろいろなものがありますが、正直なところ、ページがすでにキャッシュされている場合は、それが役に立つとは思えません。
アップデイト
のHTTP/1.1仕様から レスポンスのキャッシュ可能性 :
キャッシュバリデータも明示的な有効期限も存在しない場合 レスポンスに関連付けられたキャッシュは期待できませんが、そのレスポンスが ある種のキャッシュは、この期待に反してもよい(MAY)(例えば、ほとんどないとき またはネットワーク接続が利用できない場合)。
関連
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み] 入力ファイルが指定されていない
-
[解決済み] Uncaught SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】In_arrayが動作しない。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み] PHPのセッションを30分後に失効させるにはどうしたらいいですか?
-
[解決済み] Cache-Control: max-age=0とno-cacheの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] Fatal error: メンバ関数bind_param()のbooleanに対する呼び出し [重複] [重複
-
[解決済み] SAJAXは死んだか?何を置き換えるべきか?
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】 $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて]
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。
-
[解決済み] PHPの配列を別の配列にコピーする関数はありますか?
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法