ПРОБЛЕМА:
Я размещаю виджет на веб-сайте клиента, который будет отличаться для каждой страницы сайта.
Чтобы отобразить виджет, клиент включает тег script на своих страницах. Этот тег сценария загружается для каждой страницы сайта, и код, который он возвращает, зависит от страницы.
Итак, если этот сценарий кэшируется, конечный результат заключается в том, что мы обслуживаем виджет для неправильной страницы.
Прямо сейчас, когда мы обслуживаем сценарий, мы устанавливаем заголовки ответа
Cache-Control: max-age=0
Expires : 24 hours in the past
но иногда браузеры все еще кэшируют скрипт.
ВОПРОС:
Есть ли способ использовать заголовки http, чтобы остановить кэширование во всех случаях, или нам придется использовать совершенно другой подход?
UPDATE:
Заголовки, рекомендованные topek, значительно улучшили не-кэшируемость скриптов. Однако (опять же в Chrome, который кажется наиболее агрессивным в кеше) при использовании кнопок «назад», «вперед» или «перезагрузка» сценарий все еще кэшируется. Если вы действительно нажмете на что-нибудь, оно будет получено с сервера.
Кажется, что единственный надежный способ остановить кэширование - это установить источники сценариев, которые гарантированно будут разными для каждой загрузки страницы (как предложено esilija и tejs).