Основное кеширование HTML5 - PullRequest
4 голосов
/ 22 октября 2011

Я немного медленен в кэшировании HTML5, но у меня есть только несколько простых вопросов.

1) Как долго данные в манифесте кэширования кэшируются?

2) Если я обновлю данные, как я могу убедиться, что клиент проверяет наличие более новой версии, когда она доступна, или это уже сделано?

3) Кроме того, это абсолютно бесполезно для среды, отличной от мобильной, или может ускорить время загрузки на рабочем столе?

<html lang="en" manifest="offline.manifest">

offline.manifest

CACHE MANIFEST
index.html
style.css
image.jpg
image-med.jpg
image-small.jpg
notre-dame.jpg

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

1) Пока пользователь хочет его кешировать.Единственный способ полностью избавиться от кеша - это зайти в настройки браузера и явно удалить его.

2) Если вы обновите файл манифеста, клиент загрузит новые версии всех файлов.Эта загрузка все еще регулируется «старыми» правилами кэширования HTTP, поэтому установите соответствующие заголовки, также убедитесь, что вы отправляете заголовок «без кэширования» в самом файле манифеста. правила HTML5 Boilerplate , вероятно, являются хорошим началом.

3) Помните, что настольные компьютеры тоже могут потерять связь.Кроме того, наличие файлов в кеше приложения означает, что они всегда обслуживаются локально, поэтому, если вы хорошо разбираетесь в том, что вы в них помещаете, кеш приложения может уменьшить пропускную способность и задержку.Под «разумным» я подразумеваю следующее: если большинство посетителей видят только пару страниц вашего сайта и вы обновляете манифест всего сайта каждую неделю, то они могут использовать большую пропускную способность, если вы заставляете их кэшировать нагрузкустатические файлы для страниц, на которые они никогда не смотрят.

Чтобы реально сократить пропускную способность и задержку на вашем веб-сайте HTML5 в будущем: используйте кэш приложений для всех ваших ресурсов и статическую структуру;используйте что-то вроде усы для рендеринга всего вашего контента из JSON;отправьте этот JSON через веб-сокеты вместо HTTP, сэкономив ~ 800 байт и двустороннее сетевое рукопожатие на запрос;кэшируйте данные с помощью Локальное хранилище , чтобы сохранить выборку снова и управлять навигацией с помощью History API .

0 голосов
/ 24 мая 2016

1) Как долго кэшируются данные в манифесте кэширования?

Как только приложение кэшируется, оно остается в кэше, пока не произойдет одно из следующих событий: Пользователь очищает кэш браузера. Файл манифеста изменяется.кэш обновляется программно

2) Если я обновляю данные, как я могу убедиться, что клиент проверяет наличие более новой версии, когда она доступна, или это уже сделано?

вы можете указатьфайлы ведьмы, которые не должны кэшироваться (NETWORK :) Если вы хотите обновить свои кэшированные файлы, вы должны изменить что-то в файле манифеста, лучше всего поместить комментарий в файл и изменить его, когда вы хотите, чтобы браузер обновил кеш

3) Кроме того, это абсолютно бесполезно для немобильной среды или может ускорить время загрузки на рабочем столе?

Да, это полезно, потому что интернет может отключиться на всех устройствах

...