AppCache: полное руководство для разработчиков
AppCache (Application Cache) - это механизм браузера, который позволяет кэшировать веб-страницы и веб-приложения, чтобы они были доступны без подключения к Интернету. Это сохраняет время и повышает производительность, поскольку данные не нужно загружать каждый раз, когда пользователь запускает приложение.
AppCache работает по следующему принципу:
1. Сначала web-приложение загружается с сервера.
2. Затем браузер кэширует ресурсы, указанные в файле Manifest (такие как HTML-файлы, стили CSS, JavaScript-файлы, изображения и другие файлы).
3. Когда пользователь переходит на веб-страницу, браузер проверяет, есть ли она уже в кэше, и если да, то загружает ее из кэша.
Пример кода для активации AppCache:
Для того, чтобы включить AppCache на странице, необходимо в первой строке HTML-файла добавить атрибут manifest.
...
Далее следует создать файл cache.manifest и указать те ресурсы, которые должны быть кэшированы.
CACHE MANIFEST
# версия 1.0
index.html
main.css
main.js
image1.jpg
image2.jpg
Это означает, что приложение будет работать в режиме оффлайн и браузер будет использовать содержимое кэша, если скрипты загружены.
AppCache также может быть использован для обновления содержимого, например, при изменении версии приложения или при обновлении ресурсов.
NETWORK:
*
# Исключаем файлы и ресурсы, которые не следует кэшировать
# Данные из сети, если это возможно
С этим кэшем можно также управлять с помощью JavaScript, используя window.applicationCache, который содержит информацию о текущем состоянии AppCache и позволяет обновить его вручную.
if (window.applicationCache) {
var cache = window.applicationCache;
cache.addEventListener('updateready', function() {
if (cache.status === window.applicationCache.UPDATEREADY) {
cache.swapCache();
console.log('The cache has been updated.');
}
}, false);
}
В этом примере кода приложение после обновления полностью загружается из обновленного кэша.
В целом, AppCache - это полезный механизм, который может существенно улучшить производительность веб-приложений и увеличить удобство использования. Однако, посерьезнее приложения вышки не используют AppCache и рекомендуют использовать Service Workers для работы в оффлайн режиме.