CDNでクライアントキャッシュを回避する方法
-
03-07-2019 - |
質問
AS3でプロジェクトを処理するには、帯域幅のテストのためにいくつかのファイルをストリーミングする必要があります。帯域幅テストの信頼性を高めるために、ファイルはCDN(クライアントに最も近いプロキシ)から取得する必要があります。
もちろん、リモートファイルがクライアントブラウザーにキャッシュされる場合、帯域幅テストは信頼できません。
通常、クライアントのキャッシュをだますために、GET変数にタイムスタンプを追加します。しかし、これはCDNでの作業が非常に悪いプラクティスであると想像できます。
だから私の質問は:
クライアントキャッシュを強制的にバイパスして、実際にリクエストを変更せずにファイルの新しいバージョンを取得するにはどうすればよいですか?
事前に感謝、
T
編集:
理想は、URLRequestでキャッシュ制御ヘッダーを送信することです(Assaf!に感謝します)。残念ながら、私はしばらくそれを試してみましたが、FlashPlayer内では機能しないようです。ウェブ上でさえ、人々は主題について悲観的であるようです。
簡単な例:
var headers:Array = new Array(new URLRequestHeader("Cache-Control", "no-cache"));
urlRequest.requestHeaders = headers;
urlRequest.load(url);
誰もがなんとか仕事に似たものを作ることができましたか?
解決
適切な方法は、リクエストでキャッシュhttpコントロールヘッダーを指定するか、サーバーでキャッシュなしを構成することです。
サーバーを制御できる場合は、特定のファイルがキャッシュされないように、プラグマno-cacheまたは同等のものを指定できます。
タイムスタンプは実際にはそれほど良いアイデアではありません。途中であらゆる種類のキャッシュに悪影響を及ぼす可能性があるためです。
所属していません StackOverflow