1

私のアプリケーションでは、ローダーインスタンスを使用してバックグラウンドでブラウザキャッシュに画像をプリロードするために多数の呼び出しを行い、完全なイベントを無視します。結果をアプリケーションに保存するのではなく、ブラウザのキャッシュに保存したいと思います。画像の有効期限ヘッダーの日付が長くなっています。

特定の画像を使用する場合は、ローダーインスタンスを再度使用し、同じURLを呼び出して完全なイベントをリッスンし、ファイルを画像に読み込みます。

問題は、「キャッシュされた」画像のURLを再リクエストすると、レスポンス200のステータスでhttpリクエストを行っていることです。これは、サーバーにアクセスしていることを意味していると思います。

キャッシュされた画像のリクエストがFlexからサーバーにヒットしないようにするにはどうすればよいですか?

一般に、キャッシュされた画像(expiresヘッダーが長い)のURLへのリクエストは、サーバーに対して別のリクエストを行っていることがわかりました。少なくとも、Firebugでの解釈です。

これを行う方法はありますか?それとも、Firebugが私に言っていることを誤解していますか?

ありがとう。

4

1 に答える 1

0

だから、はい、私は火の虫を誤解していました。firebugはurlリクエストをログに記録し、通常のリクエストのように見えます。ただし、 wiresharkなどのネットワークモニターを使用してネットワークを監視すると、キャッシュされた画像のURLへの送信パケットがないことに気付くでしょう。Flexはキャッシュされた画像をロードします。

画像のキャッシュを安全にするために、次のCache-Controlヘッダーを追加しました(ただし、有効期限は十分だと思います。これを投稿した時点で1年後です)。

キャッシュ制御:max-age = 31536000、再検証する必要があります

有効期限:2011年12月1日木曜日16:00:00 GMT

したがって、キャッシュヘッダーを正しく設定すると(日付がexpiresヘッダーの有効な日付でない場合は機能しないことに注意してください)、キャッシュされた画像へのURLを呼び出すとflexがキャッシュから読み込まれます。

于 2011-04-05T17:13:21.293 に答える