アプリ版:「スタンプのみでお礼する」機能のリリースについて

firefoxの about:config で キャッシュを無効にするために

browser.cache.disk.enable を false
browser.cache.memory.enable を false

にしても問題なくホームページを見られるのですが、その仕組みはどのようになっているのか教えてください


ホームページを見たときにパソコンにダウンロードされるhtmlファイル・jsファイル・imgファイルなどはHDDに保存された後(保存される場所はcacheの保存場所とは異なる)、メモリ上にロードされるのでしょうか?

またHDDでの保存場所が分かるのであれば具体的に教えてください。

A 回答 (2件)

>メモリ上ですべて処理されるということでしょうか?



キャッシュの有無に関係なく、「表示中の1ページ」に関する物は、すべてメモリ上にあると考えられます。
たくさんウィンドウを開いたり、タブを開いたりすれば、その分だけ同時に、メモリを使用します。

この時使用しているのは、「キャッシュ用のメモリ」ではありません。「動作用に、OSから確保した、動的メモリ」です。

ANo.1に書いたように、ダウンロード→(RAM上のデータで)Webページ表示、(必要があれば)キャッシュに保存、という順番なのです。

ダウンロード→キャッシュに保存→それを使ってWebページ表示、という順番ではありません。

動作用に確保するメモリと、(ブラウザの)メモリキャッシュ用に確保するメモリは、同じメインメモリ(RAM)上に確保されますが、その性格が違います。

性格的には、ディスクキャッシュと、メモリキャッシュの方が、近いです。

1ページ表示するために動的メモリを確保し、その中にデータをダウンロードする。
こうして確保したメモリは、そのウインドウを閉じるまで、解放されません。
どんなにメモリが圧迫されても、そのデータを手放してしまっては、ページの表示が出来なくなるからです。

一方、キャッシュとして、メモリ領域を確保し、保存したデータは、再ロードするときのためだけに、使われます。
同じページを表示する場合でも、キャッシュメモリから動的メモリにコピーし、再度ページを表示します。
ただしここで、キャッシュ用のメモリは、メモリ領域が圧迫されて来た場合などには、いつでも解放してOSに返却してしまいます。
キャッシュが無くなっても、オリジナルのWebサイトからダウンロードし直せばいいからです。
まあ、メモリキャッシュを消す前に、ディスクキャッシュとして書き出したりするでしょうけど。
そのディスクキャッシュも、ある程度容量が溜まってくるとHDDを圧迫しますので、古い物から消されていきます。

アクセススピードは当然、メモリキャッシュ>ディスクキャッシュ>インターネット ですので、良く使う物をメモリキャッシュに置いておけば、高速に『再』表示が出来ます。

キャッシュとは、再度使われる場合に、有効なものであり、無くても、ブラウザの動作は可能です。
    • good
    • 0

ブラウザにおけるキャッシュ(cache)とは、とあるWebページを「『再』表示」するときに、(データが更新されていなければ)キャッシュから読み出すことでインターネット経由のダウンロードを減らし、表示を高速にする仕組みです。



キャッシュが存在しなくても、

(1)指定されたURLからHTMLや画像データをダウンロード
(2)1ページすべてのデータがメモリ上ダウンロードできたら、画面構成して表示。

ということまでは、可能です。

キャッシュが機能するのはこの先、

(3)ダウンロードしたデータを、URLと更新日をメモって、ディスクまたはメモリに保存

というタイミングです。

そしてこのキャッシュが有効になるのは、次回以降のアクセス。

同じページ、あるいは同じ画像が参照されたら、(メニュー画像や企業ロゴなど、他のページでも同じ画像が使われることは多いです)

(1')キャッシュしたデータ(HTMLもしくは画像等)のファイルが更新されているか調べて、更新されていれば、インターネットからダウンロードする。更新されていなければ、キャッシュファイルを読む。

とすることにより、インターネットへのアクセスを減らし、ページの表示速度が向上します。

ここで、

>browser.cache.disk.enable を false
>browser.cache.memory.enable を false

としたならば、(3)および(1') の動作は行われず、常に(1)の様にインターネット上からデータをダウンロードしてくるようになります。

キャッシュは存在しなくても画面表示には問題ありません。
1ページアクセスするごとに、手動でキャッシュ消去するのと同じことです。

この回答への補足

browser.cache.disk.enable を false
browser.cache.memory.enable を false

にしていると、

ホームページを見たときにダウンロードされるhtmlファイル・jsファイル・imgファイルなどはHDDを経由したりHDDに保存されることはなく、メモリ上ですべて処理されるということでしょうか?

補足日時:2013/09/02 19:09
    • good
    • 0

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