В качестве дефолтного поведения Сэм предлагает использовать кэширование с ревалидацией:
Cache-Control: max-age=0,must-revalidate,public. Этот подход используется в современных CDN, например, Netlify. Но стоит учитывать, что при ревалидации браузер отправляет дополнительный запрос на сервер. Для ресурсов, которые обновляются редко, предлагается использовать хэши в именах файлов и длинное время жизни кэша:
Cache-Control: max-age=31536000,immutable. Использования одной директивы max-age в Firefox и Safari не гарантирует, что будет использоваться кэш. Для того чтобы все браузеры всегда использовали кэш, нужно добавлять директиву immutable.Хороший доклад. Рекомендую посмотреть, если интересуетесь темой производительности.
#performance #cache
https://www.youtube.com/watch?v=tprJYFkv4LU
https://web.dev/love-your-cache/ (расшифровка основного материала доклада)