Как избежать кэширования клиента с CDN - PullRequest
2 голосов
/ 05 марта 2009

Работая над проектом в AS3, мне требуется передать несколько файлов для тестирования пропускной способности. Файлы должны поступать из CDN (ближайший к клиенту прокси-сервер), чтобы обеспечить надежную проверку пропускной способности.

Конечно, если удаленные файлы кэшируются в клиентском браузере, проверка пропускной способности не будет надежной.

Обычно я добавляю метку времени в переменные GET, чтобы обмануть клиентский кеш. Но я могу представить, что это очень плохая практика работы с CDN.

Итак, мой вопрос:

как принудительно обойти кеш клиента для получения новой версии файла без реального изменения запроса?

Заранее спасибо,

T * 1013

РЕДАКТИРОВАТЬ:

Идеально было бы отправить заголовок элемента управления кэшем в URLRequest (спасибо, Ассаф!). К сожалению, я пробовал это некоторое время, и, похоже, он не работает в FlashPlayer. Даже в Интернете люди кажутся пессимистичными по этому вопросу.

Быстрый пример:

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

Кому-нибудь когда-нибудь удавалось сделать что-то похожее на работу?

1 Ответ

1 голос
/ 05 марта 2009

Правильный способ сделать это - указать заголовки http в вашем запросе или настроить отсутствие кэширования на сервере.

Если у вас есть контроль над сервером, вы можете указать прагму no-cache или что-то подобное, чтобы определенные файлы никогда не кэшировались.

Временная метка действительно не очень хорошая идея, потому что она могла бы испортить все виды кешей по пути.

...