HTTP キャッシュの問題についてアドバイスを求めたいです。助けてください! _html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 12:10:00
オリジナル
1076 人が閲覧しました

<h1>aa</h1><img src="1.jpg" width="100" /><img src="2.jpg" width="100" />
ログイン後にコピー


1.
このページの読み取りがキャッシュからのものであるかどうかを確認するために、次の操作を行います:
初めてこのページを通常どおり開きます。次に、2 回目はアドレス バーで Enter キーを押します (更新ではありません)
IE でそれを確認するために httpwatch を使用しましたが、確かにキャッシュから読み取られたファイルであり、HTTP リクエストはサーバーに送信されませんでした。 FireBug を使用して FireFox で表示しましたが、このページには HTTP リクエストが 1 つしかないため (最初は 3 つ)、キャッシュから読み取られたファイルである必要もあります。このリクエストには、HTTP リクエスト ヘッダーと対応するヘッダーが含まれます。
しかし、私の質問は、なぜ依然としてこのリクエストを開始するのかということです。ファイルはローカルから直接読み取るべきではないでしょうか?


2.
このファイルのキャッシュを無効にするために、次の設定を行いました:
Expires: -1
Cache-Control: no-cache
pragma: no-cache

IEで見ると、確かにキャッシュから読み取られていません。 ファイルをフェッチする代わりに、HTTP リクエストが開始され、200 が返されました。しかし、私の質問は、このファイルがキャッシュから読み取られない場合、ブラウザはサーバーに 3 つのリクエストを送信する必要があるということです。画像がキャッシュされている場合でも、ローカルで読み取る前にリクエストを開始して 304 コードを返す必要があります。なぜ一度しか開始されないのですか? ? ?


3.
ブラウザは通常、デフォルトでどのくらいの期間キャッシュしますか? HTTPレスポンスのヘッダ情報に設定するにはどうすればよいでしょうか?


私は初心者です〜あまりにも多くの質問に答えるのは簡単ではありません。専門家の皆様も私の質問をよく読んでください。ありがとうございます。 ! !


ディスカッション(解決策)への返信
サーバーにリクエストを送信することは、最新のリクエストがキャッシュに存在するかどうかを確認することです。

サーバーにリクエストを送信することは、最新のキャッシュが利用可能かどうかを確認することです。

私の最初の質問に答えていますか?

では、なぜ httpwatch を使用して IE で表示すると、リクエストが開始されず、ページ コードを変更して Enter キーを押して表示しても、まだ変更されていないように見えます。キャッシュは利用可能な最新のものです。

写真などをリクエストした時のみキャッシュが最新かどうかチェックできるようですが、ページキャッシュはチェックしてくれません。

ブラウザのキャッシュをスキップできるように、リクエスト時に時間パラメーターを渡すことができます

先生、キャッシュ後には http が存在しないと思いますか?もちろんこれは不可能であり、サーバーにアクセスする必要がありますが、この時点ではページのコンテンツはサーバーから返されませんが、サーバーはブラウザーに独自のキャッシュを使用するように指示します。 。

オーナーさん、キャッシュした後は http さえなくなると思いますか?もちろんこれは不可能であり、サーバーにアクセスする必要がありますが、この時点ではページのコンテンツはサーバーから返されませんが、サーバーはブラウザーに独自のキャッシュを使用するように指示します。 。

しかし、IE の httpwatch を使用してパケットをキャプチャすると、サーバーに情報を送信せずにキャッシュが直接読み取られることがわかります。画像などをキャッシュするリクエストを送信するだけで、最終更新時刻がサーバー上の更新時刻と同じであるかどうかを判断する必要があります。このページは使用しないでください。

ブラウザは、キャッシュの最終更新時刻情報をサーバーに送信します。キャッシュが利用可能かどうかは、サーバーからブラウザに返される必要があります。

ブラウザは、キャッシュの最終更新時刻情報をサーバーに送信します。キャッシュが利用可能かどうかは、サーバーからブラウザに返される必要があります。

まず第一に、私の質問に答えていただきありがとうございます〜しかし、私の質問をよく読んでください。 。 。上で述べたように、私は写真などではなく、ページのキャッシュについて質問しています。このページがキャッシュされたときに開始されたリクエストには「If-Modified-Since」パラメータがまったくなかったため、サーバーの最終変更時刻と一致しませんでした。

私の質問をよく読んでください、ありがとう!ありがとう! !

誰か助けてくれませんか?

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート