Есть некоторые рекомендации на https://web.dev/reliable/http-cache, вместе с рядом других ресурсов в сети.
В целом, создание PWA и представление сервисного работника не изменяет лучшие практики, которые выследует следить за кэшированием HTTP.
Для ресурсов, которые содержат информацию о версиях в своих URL (например, /v1.0.0/app.js
или /app.1234abcd.js
), и вы знаете, что содержимое данного URL даже не изменится,вы должны использовать Cache-Control: max-age=31536000
.
Для ресурсов, которые не включают информацию о версиях в свои URL (как большинство документов HTML, а также /manifest.json
, если вы не включаете хэш), вы должныустановите Cache-Control: no-cache
вместе с ETag
или Last-Modified
, чтобы обеспечить повторную проверку ранее кэшированного ответа перед использованием.
Для самого файла рабочего сервиса современные браузеры будут игнорировать Cache-Control
header значение, которое вы устанавливаете по умолчанию, поэтому это не имеет значения.Но все же рекомендуется использовать Cache-Control: no-cache
, чтобы старые браузеры проверяли его перед использованием.