Какова основная цель использования стратегий кеширования в Workbox? - PullRequest
0 голосов
/ 06 сентября 2018

Чтение Workbox документация по стратегиям , и я обнаружил, что не могу представить ситуацию с использованием стратегий "сначала кеш" в Workbox.

Существует стратегия «Stale-While-Revalidate», которая сначала использует кэш, а в фоновом режиме обновляет файл кеша через сеть. Если вы измените целевой файл, это полезно, потому что при доступе в следующий раз, приложение использует последний файл, который последний раз кэшировался. Если у вас нет никаких изменений, я думаю, в этом нет недостатка.

Какова основная цель использования стратегий «сначала кеш» в Workbox?

Заранее спасибо.

1 Ответ

0 голосов
/ 06 сентября 2018

(Этот ответ не относится к Workbox, хотя Workbox упрощает использование этих стратегий, вместо того, чтобы «свернуть их вручную».)

Я бы рекомендовал использовать стратегию с кэшированием, если вы уверены, что содержимое по указанному URL-адресу не изменится. Если вы уверены в этом, то дополнительный сетевой запрос, сделанный в стратегии устаревшего подтверждения, является пустой тратой - зачем беспокоиться об этих издержках?

Сценарии, в которых вы должны иметь наибольшую уверенность в том, что содержимое URL-адреса не изменится, - это если URL-адрес содержит некоторую информацию о версиях (например, https://example.com/librbaries/v1.0.0/index.js) или хэш базового содержимого (например, https://example.com/libraries/index.abcd1234.js). ).

Иногда может иметь смысл использовать стратегию, основанную на кэше, когда ресурс может обновляться, но ваши пользователи вряд ли будут "заботиться" об обновлении и о том, как высока стоимость получения этого обновления. Например, вы можете утверждать, что использование стратегии кэширования в первую очередь для изображений, используемых в теле статьи, является разумным компромиссом, даже если URL-адреса изображений явно не имеют версий. Просмотр устаревшего изображения может быть не самым страшным, и вы не заставите своих пользователей загружать потенциально большое изображение на этапе повторной проверки.

...