PHP を使用して IE と Firefox のキャッシュ問題を無効にする_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:14:25
オリジナル
739 人が閲覧しました

ネットワーク速度を改善するためにさまざまな方法を探しましたが、最終的に解決しました
実際、最も簡単な方法はヘッダーに タグを追加することです


プログラム制御も利用可能

コードをコピー コードは次のとおりです:

header("Cache-control:no-cache,no-store,must-revalidate");
header("Pragma:no-cache");
header("Expires:0");
または header("Cache-control:no-cache,no-store,must- revalidate"); no-store がなければ、Firefox のキャッシュを解決することはできません
以下は具体的な分析です:
Firefox と IE ブラウザ キャッシュの 2 つの重要な違い
WEB サービスを確立した後、通常は次のことが起こります。構成する必要がある 2 種類のキャッシュ:
Web サイトが更新されるとすぐに期限切れになるように HTML リソースを設定し、閲覧しているユーザーがすぐに更新を取得できるようにします。
他のすべてのリソース (画像、CSS、JavaScript スクリプトなど) を設定します。一定期間後に期限切れになります。
このキャッシュ ソリューションでは、「HTTP キャッシュの 2 つの簡単なルール」の記事で説明されている更新を処理する方法についていくつかのアイデアを取り上げます。
HttpWatch 6.0 が Firefox をサポートするようになったので、Firefox が Firefox とどう違うのかを見ていきたいと思います。キャッシュの処理における IE . 有効期限を長く設定する使用方法 (上の 2 番目の項目) は、Firefox でも直接使用できますが、構成 1 には依然として 2 つの微妙な違いがあります
前回の記事では、1 番目の項目を分割しました。 into :
銀行口座やオンライン注文のステータスを表示する場合など、いつでも表示できるように動的 HTML ページをサーバーから即座に更新する必要がある場合があります。 Last-Modified 応答ヘッダーを設定すると、ページでキャッシュを利用でき、必要に応じてブラウザが再検証できるようになります。
この記事の残りの部分では、キャッシュに影響を与える Firefox の 2 つの重要な違いについて説明します。 HTML ページ。


1. no-cache を使用して Firefox のキャッシュが無効になるのを防ぎます 次の応答ヘッダーを設定するだけで、IE が何もキャッシュしないようにできます: Cache-Control: no-cache
この応答ヘッダーを使用するページは無効になります。ここでは、[戻る] ボタンを使用した場合でも、IE は常にサーバーからリロードします。次の例では、HttpWatch を使用してオンライン ストアを監視します。注文フォームを送信した後に [戻る] ボタンをクリックすると、結果は次のようになります。


ただし、この応答ヘッダーは Firefox のキャッシュを防ぐことができないため、Firefox は再確認するために GET リクエストを送信するまで、キャッシュされたページを常に使用します。 Firefox は再びサーバーにアクセスせず、キャッシュから直接ロードします
では、どうすれば Firefox でキャッシュをオフにできるでしょうか? 答えは簡単で、Firefox はキャッシュをオフにすることができないからです。 「ファイル -> 名前を付けて保存」、「ソース コードの表示」という操作が機能します。ただし、ページがどこにキャッシュされるか、どのキャッシュ エントリを表示に使用できるかを制御できます。
Firefox の次の応答ヘッダーは永続的なキャッシュを防ぎます。 、ページをメモリに強制的にキャッシュします:
Cache-Control :no-store
このヘッダーは、[戻る] ボタンの使用時にキャッシュされたページにアクセスできないようにすることもできます。これにより、HTTP GET リクエストがトリガーされます
値の組み合わせ。これら 2 つの応答ヘッダーのうち、IE と Firefox では期待どおりの結果を得ることができます:
Cache- Control: no-cache、no-store
次の HttpWatch 応答ヘッダー タグに示されているように:


no-store and no-cache headers
2
。有効期限が設定されていない場合、IE が Expires ヘッダーのない http 応答を検出すると、そのキャッシュ エントリはサービスから再検証されるまで自動的に使用できないとみなされます。 IE の一時ファイルの設定項目「Web ページの新しいバージョンを確認する」はデフォルトで「自動」になっており、通常はセッションごとに 1 回実行されます。これは、ユーザーの新規の静的 HTML コンテンツのキャッシュを制御する合理的な方法を提供します。開いた IE は最新バージョンの HTML を取得し、キャッシュされたバージョンは IE を閉じる前に使用されます。 Firefox は Expires ヘッダーの欠落を処理します。インパクトに Last-Modified ヘッダーがある場合は、暫定的な有効期限が使用されます。 HTTP 1.1 仕様 RFC2616 で指定されている値: (
仕様を引用
:)
そして、応答に Last-Modified 時刻の値がある場合、暫定的な有効期限の値は、この値から現在までの時間間隔の比率を超えることはできません。一般に、この比率は 10% に設定されます。メソッドは次のとおりです:
有効期限 = 現在の時刻 + 0.1 * (Last-Modified から現在までの時間差)
たとえば、静的 HTML ファイルが最後に変更されたのが 100 日前の場合、有効期限は 10 日後になります。例は、Expires ヘッダー ページのキャッシュ タグのない HttpWatch です:
pic3
ページが約 80 日間変更されていないため、Firefox は自動的に有効期限を 8 日に設定します
これは、HTML ページの制御を維持するために、次のように意味します。 HTTP の 2 つの単純なルールで行います。 キャッシュの記事で説明したように、HTML、画像、CSS ファイルなどの静的リソースに対して、WEB サーバーで適切な Expires 値を設定することをお勧めします。 IE と Firefox のキャッシュ動作を一貫して確認する必要があります:
通常、HTML ページを使用してすぐに更新する場合は -1 を設定するか、画像、CSS、JavaScript スクリプトなどの他のリソースに特定の有効期限を設定します。
バックグラウンドボタンをクリックしたときでもページを強制的に更新したい場合は、Cache-Control: no-cache, no-store を設定します。

http://www.bkjia.com/PHPjc/326259.html

www.bkjia.com

tru​​e

技術記事ネットワーク速度を改善するための多くの方法を探した結果、最終的に解決しました。実際、最も簡単な方法は、メタ タグ META HTTP-EQUIV="Cache-Control" CONTENT="no-cache,no-store, should を追加することです。 -revalidate」ヘッダーに私が含まれています。 ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!