「お昼の放送」の思い出

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

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

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

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

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

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

A 回答 (1件)

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



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

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

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

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

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

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

ありがとうございます、とても理解が深まりました。
デフォルトでは、各サーバーで様々に設定がされていて、期間もですし、何をどの程度キャッシュさせる等々あるみたいですね。

いずれにしましても、各プログラムやサーバの設定ファイルから無効などの指定は可能なので、サーバー側の設定はよくないかもですが、各プログラムで外部ファイルを確認時には読み込ませれば、ほかの方々確認頂く際にキャッシュ影響なくせてよいかもと思いました。何かいろいろと思案してみたいと思います。
ありがとうございました!

お礼日時:2024/07/30 19:56

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A