2

AS3でプロジェクトに取り組んでいる場合、帯域幅テストの目的でいくつかのファイルをストリーミングする必要があります。帯域幅テストの信頼性を高めるには、ファイルはCDN(クライアントに最も近いプロキシ)から取得する必要があります。

もちろん、リモートファイルがクライアントブラウザにキャッシュされた場合、帯域幅テストは信頼できません。

通常、クライアントのキャッシュをだますために、GET変数にタイムスタンプを追加します。しかし、これはCDNでの作業は非常に悪い習慣だと想像できます。

だから私の質問は:

リクエストを実際に変更せずに、クライアントキャッシュを強制的にバイパスして、ファイルの新しいバージョンを取得するにはどうすればよいですか?

前もって感謝します、

T

編集 :

理想は、URLRequestでcache-controlヘッダーを送信することです(Assafに感謝します!)。残念ながら、私はしばらく試してみましたが、FlashPlayer内では機能しないようです。ウェブ上でさえ、人々はその主題について悲観的であるように思われます。

簡単な例:

var headers:Array = new Array(new URLRequestHeader("Cache-Control", "no-cache"));
urlRequest.requestHeaders = headers;
urlRequest.load(url);

誰かが仕事に似たものを作ることができたことがありますか?

4

1 に答える 1

1

これを行う適切な方法は、リクエストでキャッシュhttpコントロールヘッダーを指定するか、サーバーでキャッシュなしを構成することです。

サーバーを制御できる場合は、プラグマno-cacheまたは同等のものを指定して、特定のファイルがキャッシュされないようにすることができます。

タイムスタンプは、途中であらゆる種類のキャッシュを台無しにする可能性があるため、実際にはそれほど良い考えではありません。

于 2009-03-05T11:29:10.790 に答える