Возможности и проблемы использования Application Cache
· Увеличение скорости загрузки страниц, за счёт того, что не требуется тратить время на скачивание файлов, которые были кэшированы. · Снижение нагрузки на сервер, так как вместо многочисленных запросов к ресурсам (имеются в виду кэшируемые на клиенте данные) для проверки их изменения, мы имеем всего лишь один запрос к файлу.manifest. · Возможность кэшировать файлы по заранее определённым правилам. · Постоянное хранение файлов, с жестким контролем изменения. · Возможность работать с приложением в offline-режиме. · Кэш работает во фреймах.
· При первой загрузке документов после отображения целевой страницы автоматически начинается фоновая загрузка кэшируемых документов. На слабом канале активная работа с приложением после первой загрузки может превратиться в «кошмар». Особенно, если объём и количество файлов большое. · Существует проблема синхронизации данных на сервере и клиенте. Изменение данных на сервере не приводит к изменению данных, хранящихся в кэше клиента. Необходимо инициировать процедуру обновления. До этого момента браузер будет загружать старые версии ресурсов. · После обновления кэша сохранённые данные будут использоваться после перезагрузки страницы. Это приводит к тому, что даже с изменённым файлом.manifest первоначальная загрузка происходит с использованием старого кэша. · Можно привести приложение в нерабочее состояние, если не внести в разделы NETWORK и FALLBACK правила для файлов, необходимых для работы этого приложения. · При использовании нескольких файлов.manifest можно создать ситуацию цикличного кэширования и привести приложение в нерабочее состояние. · Правила раздела FALLBACK для работы в режиме offline не перекрывают правила раздела CACHE. На практике это приводит к усложнению структуры приложения для работы в режиме offline. · Страница, содержащая определение файла.manifest, кэшируется автоматически. Что не позволяет легко её заменить в offline режиме.
· Ресурсы, полученные POST-запросом, не кэшируются и не берутся из кэша. · По умолчанию размер кэшированных данных ограничивается 50 Мб. Для старых версий Mozilla Firefox и Google Chrome ограничение 5 Мб. Так же у браузера Opera размер возможного кэша можно увеличить в настройках. · Кодировка файла.manifest может быть любая, но, если Вы не хотите проблем с кириллическими символами, следует использовать кодировку utf-8. · В старых версиях браузеров Application Cache не работает. Application Cache поддерживается браузерами Google Chrome 4.0, Mozilla Firefox 3.5, Internet Explorer 10, Opera 10.6, Opera Mobile 11, Safari 4 и старше. · В некоторых версиях браузеров при первом обращении для данного домена к Application Cache появляется всплывающее системное окно вопроса о разрешении использовать «хранилище». При отрицательном ответе Application Cache для данного домена не используется. Из современных браузеров такое всплывающее окошко отображает Mozilla Firefox. · Application Cache игнорирует установки сервера для обычного кэширования, например, игнорируется Cache-Control: no-store.
|