Подтвердить что ты не робот

В чем разница между HTML5 AppCache и обычным кешем браузера?

Я не понимаю точку в HTML5 AppCache. У нас уже есть обычный кэш. Если вы посещаете веб-сайт, он в первый раз будет кэшировать все активы. Какое дополнительное значение предлагает AppCache? Является ли это просто списком файлов, чтобы браузер знал, какие ресурсы нужно загружать, даже если они не ссылаются на HTML прямо сейчас? Предоставляет ли браузер убедиться, что кеширование "все или ничего", то есть оно гарантирует, что все, на которое ссылается манифест, кэшируется или вообще ничего?

4b9b3361

Ответ 1

Я думаю, что вам не хватает того, что AppCache специально разработан для того, чтобы веб-приложения (и веб-сайты) могли быть доступны в автономном режиме, хотя те же преимущества в скорости, которые обеспечивает обычный кеш браузера, когда пользователь онлайн, также предоставляются AppCache.

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

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

Эта статья HTML5 Rocks по этому вопросу также содержит некоторую полезную информацию.

Ответ 2

AppCache фактически использует кеш браузера для поддержки его работы. Это браузер, эквивалентный загрузке приложения для локального запуска.

В первый раз, когда пользователь посещает страницу, ресурсы этой страницы будут загружены с сервера и сохранены в обычном кеше. Если на странице указан манифест appcache, браузер загрузит манифест и выберет все имеющиеся там ресурсы (даже если они не отображаются на странице, вложенной в манифест). Затем они сохраняются в appcache.

Во второй раз, когда пользователь посещает страницу, браузер проверяет ее апкэш. Если для этого URL существует запись, она будет загружать страницу из appcache, а не из сервера, в соответствии с правилами, указанными в манифесте (манифест может отмечать некоторые ресурсы, явно выделенные из сети).

После того, как браузер загрузит страницу из appcache, она свяжется с сервером, чтобы узнать, есть ли обновленный манифест. Если манифест обновлен, он будет извлекать ресурсы из манифеста. Эти выборки выполняются с использованием обычных правил кэширования браузера, поэтому некоторые из этих ресурсов могут фактически быть извлечены из обычного кеша браузера, а не из сервера (это позволяет делать дифференциальные обновления при использовании appcache для разработки офлайн-приложений). Новая версия appcache хранится отдельно от старой версии. После загрузки новой версии пользователь продолжает взаимодействовать с ресурсами из старой версии, пока не обновит основную страницу, после чего будет загружена новая версия и старый будет отброшен.

Другим важным моментом является то, что в appcache есть разные правила, когда ресурсы отбрасываются. Appcache в принципе никогда не отбрасывает последний набор ресурсов и кэширует их в целом. Чтобы предотвратить злоупотребление, он ограничивает пределы хранения (иногда всего 5 МБ) того, насколько большой может быть кеш сайта. Напротив, кеш браузера не имеет ограничений для каждого сайта, но будет удалять отдельные ресурсы с сайта, если будут достигнуты ограничения глобального кеша.

Ответ 3

Важной особенностью кэша приложений HTML 5 является предоставление веб-приложения офлайн. Что не задано обычным кешем браузера.

В дополнение к этому кэшу приложений будет предоставляться

Скорость - так как все содержимое указанной страницы будет кэшироваться в браузере, чтобы обеспечить лучшую скорость, чем кеш браузера

Уменьшить нагрузку на сервер. Нет необходимости отправлять сообщения обратно все время, так как все содержимое находится в кеше до тех пор, пока в файле манифеста не будут внесены изменения.

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

Для базового понимания кеша приложений вы можете См. этот учебник