2011-08-08 11 views
0

現在、Webブラウザ側のデータベースを展開するために利用可能なソリューションを使用するのはかなり危険です。ローカルにキャッシュされたファイルを操作できますか?

HTTPキャッシングをカスタム方法で使用できますか?

たとえば、最新のセッションのWebブラウザ(たとえば、.json形式の表の行)にキャッシュされたデータがあります。このローカルファイルを考慮して、AJAXは最新のデータを要求します。これは、すべてを再度要求するのではなく、新しいファイルを受け取ります。

次に、両方のファイルをマージして、将来のセッションでローカルキャッシュを強制します。

これはまったく可能ですか?

+0

ローカルストレージが使用できなくなるリスクはありますか? –

+0

私が見つけたものから、現在のオプションには独自のプラグイン、ブラウザ固有のAPIまたはまだ開発中の標準が含まれています。 – vemv

答えて

1

ページ上のさまざまなキャッシュ制御設定を使用すると、キャッシュする必要があるものやキャッシュしないものを設定できます。しかし、何かが本当にキャッシュされているかどうか、そしてどれくらいの期間キャッシュされているのかを制御することはできません。それはブラウザに依然として依然としてあり、制御(キャッシュ設定、それが最初にキャッシュされて以来のブラウザの使用、ユーザが手動でキャッシュをクリアしたときなど)に依存する可能性があります。

たとえば、オフライン時に本当に必要なページは、いつでもオフラインには存在しない可能性があるため、キャッシュを使用して確実にページ/アプリケーションへのオフラインアクセスを提供することはできません。

キャッシュを効果的に使用してサーバーのラウンドトリップを保存してパフォーマンスを向上させようとすると、通常は動作しますが、常に動作するとは限りません。

ブラウザ側のストレージメカニズムのメリットが大きいアプリがあれば、できるだけHTML5ストレージを使用し、アプリケーションによっては利用できなかったフォールバックメカニズムを決定します。 (Google Gearsのような)プラグインを使用してローカルストレージを提供することができます(ただし、古いバージョンのブラウザでは、プラグインをインストールする必要があります)。

+0

答えをありがとう。実際、完全なオフライン機能は私の場合は必要条件ではありません。より良いパフォーマンスを目指しています。だから私はどのような具体的なテクニックを使うべきですか? – vemv

+1

どのような要求を長期間キャッシュできるかを決め、それらのページに適切なキャッシュ・ディレクティブを設定するだけで済みます。ウェブページのキャッシュを制御する方法については、こちらのリストをご覧ください:http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=how+to+control+cache+time+for+web+pages 。 – jfriend00

関連する問題