@SagePtr
Достаточно ли для этих целей простого заголовка:
Cache-Control: no-cache
?Не нужно дополнительно добавлять туда через запятую директивы вроде max-age или must-revalidate?
Как гласит документация:
no-cache
The response may be stored by any cache, even if the response is normally non-cacheable. However, the stored response MUST always go through validation with the origin server first before using it, therefore, you cannot use no-cache in-conjunction with immutable. If you mean to not store the response in any cache, use no-store instead. This directive is not effective in preventing caches from storing your response.
Беглая проверка в основных браузерах (Chrome, Firefox и IE11) показала, что только лишь no-cache без must-revalidate указать достаточно (при условии, что до этого ресурс нигде не светился с другими заголовками кеширования и не засветился в кэшах), но есть ли какие-то нюансы или подводные камни, при которых эта схема может дать сбой? (при условии, что у ресурса есть Last-Modified и ETag, которые корректно меняются при каждом изменении ресурса на стороне сервера). Поддержкой браузеров старше 5 лет можно пренебречь.
UPD:
Если сервер находится за Cloudflare, то в этом случае срабатывает кэш Cloudflare, у которого своя политика кэширования (по крайней мере, на бесплатных аккаунтах). В таких случаях для его обхода можно использовать:Cache-Control: private, no-cache
Решения вопроса 0
Ответы на вопрос 0