2009-03-05 3 views
2

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

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

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

Так что мой вопрос:

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

Спасибо заранее,

T

EDIT:

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

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

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

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

ответ

1

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

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

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