性格いい人が優勝

PCやスマホ含め、様々なブラウザでサイトを確認する際に、キャッシュの影響で更新を行った最新のサイトの内容が確認できないことは多々あるかと思います。

それはそれで、仕方がないことなので、わかる方であればキャッシュの削除や、PCの場合スーパーリロードで最新情報に更新できるかと思いいます。
これらの方法が全く分からない方には、特にスマホなどではブラウザのシークレットモード的な機能で閲覧頂くことで解決できると思います。

そこで1つ気になったのですが、このキャッシュですが、いつかは「今回更新した修正内容が反映」された状態がキャッシュされるわけなのですが、これってどういったタイミングでその今の状態がキャッシュされるのでしょうか?

何か明確なタイミングが決まっていますか?
もちろん、ブラウザや機器によっては異なるものだとはなんとなく想像できますが、どういったタイミングでキャッシュされ、いつそのキャッシュ内容は上書きされ、新しいキャッシュとして登録されるのでしょうか?

もし、このあたりの情報にお詳しい方いらっしゃいましたらアドバイスを頂けますと幸いです。

変な質問で申し訳ございません、宜しくお願いいたします。

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (1件)

「どういうタイミングでキャッシュされるか」であれば、そのファイルをサーバーから取得した時です。



おそらく知りたいのは、「どういう時にサーバーにファイルを取りに行かず、キャッシュ内のファイルで済ませるのか?」または「どういう時にキャッシュを無視してサーバーにファイルを取りに行くか?」ではないですか?

ファイルをサーバーから取得した場合、上記のようにキャッシュに保存しますが、付加情報として「このファイルはいついつまで有効か(年月日時刻指定の場合と、何秒後か指定の場合がある)」という情報が付くことがあります(というか多いです)。この時刻になるまでは、同じURLのファイルはサーバーに取りに行かずにキャッシュで済ませます。サーバーがそう言ってるので、それを信じるわけです。指定時刻を過ぎればキャッシュ内のそのファイルは削除されます。

「このファイルはいつまで有効か」ではなくて「このファイルは何時更新されたか」の情報が来る場合もあります。この場合は、たとえば「今日の0時に更新された」のであれば、ブラウザーは再度そのURLへのアクセスが発生した場合、「更新日時が今日の0時より後であれば」という条件付きでリクエストします。サーバーはより新しいファイルがあればそのファイル全体をブラウザに送るし(ブラウザは受け取ったファイルでキャッシュ上のファイルを上書き)、もし0時より新しいファイルが無ければ「そのファイルが最新です」という短い情報だけを送り、ブラウザはキャッシュのファイルを使います。

これらの日時に関する付加情報が全くないファイルは、「動的に生成されたコンテンツのページ」としてキャッシュに入らないはずですので、毎回サーバーに取りに行きます。

キャッシュ内のファイルが削除される他のケースは、キャッシュサイズの上限に達したら古いファイルから削除されます。

他に、「キャッシュを無視して今のページをリロードする」というスーパーリロードも、常にサーバーにファイルを取りに行きます。Ctrl + F5 とか。
普通のリロード(F5キー)は、キャッシュを見ます。
操作方法は「スーパーリロード ブラウザ名 OS名」で検索して下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!