Предотвратить кеширование по https без взлома IE

Некоторые из загрузок, которые мы имеем в нашем веб-приложении, создаются и не должны кэшироваться браузером.

При использовании HTTP:// мы можем предотвратить это с помощью заголовка: Cache-Control: no-cache

Однако этот разрыв IE:

http://support.microsoft.com/kb/2549423

http://support.microsoft.com/kb/812935

http://support.microsoft.com/kb/316431

Общее решение проблемы IE - не отправлять эти заголовки. Но удаление этих заголовков открывает возможность повторного кэширования этих ресурсов браузером (что нежелательно).

Существует ли чистый (желательно контент не осведомленный) способ предотвратить кэширование во всех распространенных браузерах, но не прервать загрузку для IE?

1 ответ

Решение

Если серверная часть вашего веб-приложения игнорирует дополнительные параметры запроса, как насчет изменения

http://mywebapplication/service?param=value

в

http://mywebapplication/service?param=value&garbage=889jsdakd8932hd

Т.е. на стороне клиента:

url = 'http://mywebapplication/service';
url += '?garbage=';

for (var i = 0; i < 20; i++)
    url += Math.floor(10 * Math.random());

Это убедит браузер, что вы загружаете новый ресурс каждый раз.

Другие вопросы по тегам