Кеширование и обновление PWA
PWA кеширует ресурсы через Service Worker. Кеш хранится в браузере посетителя. Настройки разделяют страницы, изображения, статические ресурсы, Google-шрифты и медиа: для них можно выбирать разные стратегии.
Пять стратегий
Названия и механизмы показаны в разделе «Кеширование» панели приложения:
- Сначала кеш. Если ресурс уже есть в кеше, используется он. При отсутствии ресурса выполняется запрос по сети.
- Сначала сеть. Сначала выполняется сетевой запрос; при недоступной сети используется кеш.
- Только кеш. Используется только кешированный ресурс.
- Только сеть. Используется только сетевой запрос.
- Stale-while-revalidate. Посетитель получает имеющуюся кешированную копию, а её обновление выполняется по сети. При следующем запросе используется обновлённая копия; если кеша нет, ресурс запрашивается по сети.
Выбирая стратегию, учитывайте механизм: приоритет кеша допускает показ ранее сохранённой копии; стратегия «Только сеть» требует доступной сети. Это следствие описанных стратегий, а не обещание поведения всех функций конкретного сайта.
Настройка по типам ресурсов
- Откройте «Кеширование» в панели PWA.
- Проверьте выбранную «Витрину» и область применения настроек.
- Выберите стратегии в полях «Страницы», «Изображения», «Статические ресурсы», «Google шрифты» и «Медиа».
- Нажмите «Сохранить».
- Проверьте сайт с сетью и без сети на устройстве, где он будет использоваться.
На опубликованном скриншоте интерфейс рекомендует «Сначала сеть» для страниц, «Сначала кеш» для изображений и Google-шрифтов, Stale-while-revalidate для статических ресурсов. Это ориентир для выбора, а не универсальная настройка для любого магазина. Особенно внимательно проверьте данные, которые меняются на сервере.

Скриншот показывает опубликованный пример интерфейса. Названия и расположение элементов в установленной версии могут отличаться.
Предварительное кеширование и офлайн-страница
Для предварительного кеширования предусмотрен отдельный раздел. Эта возможность используется для офлайн-приложений и островной архитектуры: статические блоки берутся из кеша, динамический контент запрашивается с сервера. Наличие функции не означает, что весь сайт уже подготовлен к работе без сети.
В разделе «Резервный ответ» настраивается офлайн-страница. Разработчик приводит страницу с контактами как возможный вариант резервного ответа. Подготовьте понятное сообщение о недоступной сети и проверьте результат на своём сайте.
Порядок заполнения полей предварительного кеширования и резервного ответа зависит от установленной версии; при необходимости настройки конкретного сценария обратитесь в поддержку.
Уведомление об обновлении
В разделе «Обновления кеша» опубликованного интерфейса есть поле «Версия SW» и оформление уведомления о новой версии. Приложение отслеживает изменения Service Worker; уведомление предлагает посетителю перезагрузить приложение.
В этом разделе показаны настройки цветов, размера шрифта, положения, отступа и пользовательского CSS. Сначала оцените встроенный вариант уведомления, затем изменяйте оформление по необходимости.

«Версия SW» относится к Service Worker. Не подменяйте её номером релиза продукта в магазине Webasyst. Для проблемы с обновлением сообщите поддержке версии приложения и браузера, значение поля и то, какое содержимое остаётся прежним.