Как избежать кэширования клиента с помощью CDN

StackOverflow https://stackoverflow.com/questions/614389

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

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

Т

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

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

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

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top