最近のブラウザのキャッシュはダメです。なぜですか、どうすれば修正できますか?

最近のブラウザのキャッシュはダメです。なぜですか、どうすれば修正できますか?

最近のブラウザの欠点として私が気づいたのは、キャッシュ機能です。数年前の Internet Explorer 5 (今日の基準では最悪なブラウザです!) では、いつでも [ファイル/オフライン モード] を選択して、過去 2 日間に閲覧したすべてのページをキャッシュから閲覧できました。接続が切れると、自動的にオフライン モードがアクティブになります。また、オンライン閲覧時でも、現在よりもキャッシュを積極的に使用していたようです。当時のモデムと、その接続速度が遅くて信頼性が低い環境では、これらすべてが必須でした。現在では、ネットブックを持って旅行しているときに、特に WiFi が不安定だったり利用できないときに、こうした機能を頻繁に使用できます。

Firefox には依然として「オフラインで作業する」オプションがあり、一部のページでは機能しますが、非常に制限されているようです。また、履歴内のどのサイトがキャッシュされているかを確認する簡単な方法はありません。

キャッシュをより「積極的」または包括的にし、オフライン モードを再び便利にする方法はありますか? 拡張機能や特定のブラウザーなどでしょうか?

答え1

HTML 作成者は、ヘッダーとmetaタグを使用して、ブラウザにページをキャッシュしないように指示できます。

HTML とブラウザは、単なる静的なドキュメント取得プロトコルではなく、一般的なアプリケーション レベルのプロトコル/ランタイム環境を形成すると最近は多かれ少なかれ考えられているため、これが現在の傾向です。

プロキシ サーバーを使用して HTML ドキュメントから不要なものを削除/変更することは技術的に可能です。 squidは、この機能のフレームワーク (スクリプトを介して HTML リクエストを実行し、その場で変更できるようにするなど) を提供しますが、タグを変更して不要な動作を作成する独自のスクリプトを作成する必要があります。また、ページ内の Javascript を操作するのは面倒で時間がかかり、サイトごとに異なるため、通常は労力に見合う成果が得られません。

これを実現するターンキーソリューションは知りません。

一般的に、ブラウザのキャッシュに頼って自分が何をしていたかを記憶するのではなく、ページを .PDF などに印刷してキャプチャすると便利だとわかりました。

答え2

以前のバージョンsquid(2.2 以前) には、「offline_mode」機能があります。

このモードではキャッシュ検証がオフになります。つまり、リソースがすでに Squid キャッシュ内にある場合、Squid は元の Web サイトに接続して、キャッシュされたリソースが有効/最新かどうかをチェックしません。

組み合わせてoffline_mode on、攻撃的な包括的なrefresh_pattern

refresh_pattern . 10080 9999% 43200 override-expire ignore-reload ignore-no-cache ignore-no-store ignore-must-revalidate ignore-private override-lastmod reload-into-ims store-stale

オフラインでもヶ月以前アクセスした静的な Web サイトに再度アクセスすることもできます。

詳細については、http://www.squid-cache.org/Doc/config/offline_mode/そしてhttp://linuxdevcenter.com/pub/a/linux/2001/08/02/offline_squid.htmlSquid はほとんどのオペレーティング システムで動作しますので、ぜひ試してみてください。

これで最後の質問への回答になったと思います。

さて、質問のタイトルの「なぜ」に答えると、現在の Web は IE5 以降とは異なります。 ほとんどのウェブサイトはオフラインモードでは機能しなくなります。 ウェブは動的なライブコンテンツにますます依存するようになり、多くのコンテンツは長期間キャッシュされることを想定して設計されなくなりました。この質問Squid ユーザーのメーリング リストで質問しました。

関連情報