Jump to content

Манифест кэша в HTML5

Расширение имени файла
.appcache
Тип интернет-СМИ
текст/кеш-манифест
Разработано Консорциум Всемирной паутины
Стандартный HTML5
Открытый формат ? Да
Веб-сайт HTML .spec .whatwg .org /многостраничный /браузеры .html #оффлайн

Манифест кэша в HTML5 представлял собой функцию программного хранилища, которая обеспечивала возможность доступа к веб-приложению даже без подключения к сети. Он стал частью Рекомендации W3C 28 октября 2014 года. [1]

С 2021 года эта технология больше не имеет широкого распространения. Он был удален из Firefox 85, [2] и отключен по умолчанию в Chrome 84 и удален в Chrome 95. [3] Использование каких-либо функций автономного веб-приложения в настоящее время настоятельно не рекомендуется, использовать сервис-воркеров . вместо этого рекомендуется [4] Манифесты кэша отличаются от манифестов веб-приложений — формата файлов на основе JSON, который является частью прогрессивной технологии веб-приложений , и по состоянию на 2023 г. в настоящее время активен и проходит процесс стандартизации в W3C . [5]

Веб-приложения состоят из веб-страниц, которые необходимо загрузить из сети. Для этого должно быть подключение к сети. Однако во многих случаях пользователи не могут подключиться к сети по независящим от них обстоятельствам. HTML5 предоставляет возможность доступа к веб-приложению даже без подключения к сети, используя манифест кэша .

Веб-приложения состоят из ресурсов, идентифицируемых URL-адресами . Это могут быть HTML , CSS , JavaScript , изображения или любой другой источник, необходимый для отображения веб-приложения. Их адреса можно скопировать в файл манифеста , который может регулярно обновляться автором веб-приложения, указывая любые новые веб-адреса, которые добавляются или удаляются. При первом подключении к сети веб-браузер прочитает файл манифеста HTML5, загрузит предоставленные ресурсы и сохранит их локально. Затем, при отсутствии сетевого подключения, веб-браузер вместо этого переключится на локальные копии и отобразит веб-приложение в автономном режиме.

Чтобы автономные приложения работали, веб-разработчик должен создать файл манифеста кэша. Если веб-приложение превышает одну страницу, каждая страница должна иметь атрибут манифеста, указывающий на манифест кэша. Каждая страница, ссылающаяся на манифест, будет храниться локально. [6] Файл манифеста кэша представляет собой текстовый файл, расположенный в другой части сервера. Он должен обслуживаться с типом контента text/cache-manifest[7]

Атрибут manifest="<path>" необходимо добавить в элемент html , чтобы файл манифеста кэша работал. [7] Пример:

<!DOCTYPE HTML><html manifest="cache.appcache">  <body></body></html>

Аргументом атрибута манифеста является относительный или абсолютный путь к файлу манифеста.

Рассмотрим HTML-файл, приведенный ниже. Элемент <html> указывает, что файл с именем кэш.appcache будет содержать список ресурсов (т. е. test.js, test.css), необходимых для работы этой веб-страницы в автономном режиме. Общие имена этого файла — кэш.манифест и манифест.appcache.

<!—- test.html --><!DOCTYPE HTML><html manifest="cache.appcache"><head>  <title>Test</title>  <script src="test.js"></script>  <link rel="stylesheet" href="test.css"></head><body>  Testing the manifest file.</body></html>

Синтаксис

[ редактировать ]

Файл манифеста должен начинаться со строки CACHE MANIFEST. Комментарии начинаются с #, пробелы и пустые строки игнорируются. [8]

Ниже приведен пример файла манифеста кэша.

Пример 1:

CACHE MANIFEST /test.css/test.js/test.png

В этом файле манифеста перечислены три ресурса: файл CSS, файл JavaScript и изображение PNG. Когда вышеуказанный файл будет загружен, браузер загрузит файлы test.css, test.js и test.png из корневого каталога веб-сервера. [7] В результате, когда сеть не подключена, ресурсы будут доступны в автономном режиме.

Манифесты кэша также могут использовать относительные пути или даже абсолютные URL-адреса, как показано ниже. [8] [9] [10]

Пример 2:

CACHE MANIFEST/main/features.js/main/settings/index.csshttp://files/images/scene.jpghttp://files/images/world.jpg

Заголовки файлов

[ редактировать ]

Файл манифеста кэша состоит из трех заголовков разделов. [7]

  1. Явный раздел с заголовком CACHE.
  2. Раздел белого списка онлайн с заголовком СЕТЬ.
  3. Раздел резервного копирования с заголовком FALLBACK.

Примечание. В приведенных выше примерах 1 и 2 не указан заголовок раздела, поэтому по умолчанию они считаются явным разделом.

Раздел белого списка онлайн с заголовком СЕТЬ

[ редактировать ]

Пример 3:

CACHE MANIFEST NETWORK: /checking.cgiCACHE:/test.css/test.js/test.png

Этот пример состоит из заголовков. Строка СЕТЬ: является началом раздела «белый онлайн-список». Ресурсы, перечисленные в этом разделе, никогда не кэшируются и недоступны в автономном режиме. [7] В результате при попытке загрузки ресурса в автономном режиме произойдет ошибка.

В заголовке CACHE происходит переход к явному разделу: ресурсы (таблица стилей CSS, JavaScript и файл изображения) можно загрузить и использовать в автономном режиме.

Резервный раздел с заголовком FALLBACK.

[ редактировать ]

Резервный раздел в файле манифеста кэша можно использовать для замены онлайн-ресурсов, которые не могут быть кэшированы или не были успешно кэшированы. [7]

Пример 4:

CACHE MANIFESTFALLBACK:/ /offline.html NETWORK:…

В примере 4 резервный раздел состоит из одной строки. т.е. //offline.html . Одиночный символ ( / ) перед словом «оффлайн» будет соответствовать любому шаблону URL-адреса на вашем сайте. [7] Если браузер не находит страницу в кэше приложений, приложение отобразит страницу /offline.html.

Поток событий

[ редактировать ]

Мероприятия находятся под ApplicationCache Объект JavaScript.

Если браузер посещает веб-страницу, НЕ видел ее раньше и в результате не распознает файл манифеста, произойдут следующие события. [8]

  • Checking Событие — происходит, когда браузер посещает веб-страницу и считывает атрибут манифеста элемента <html>.
  • Downloading Событие — оно загрузит все ресурсы, указанные в файле манифеста.
  • Progress Событие — содержит информацию о том, сколько файлов было загружено и сколько файлов осталось загрузить.
  • Cached Событие — происходит после того, как все файлы загружены и автономное веб-приложение готово к использованию в автономном режиме.

Если браузер ранее посещал веб-страницу и распознает файл манифеста, произойдут следующие события. [8]

  • Noupdate Событие — это произойдет, если манифест кэша не изменился.
  • Downloading Событие — если манифест кэша изменил ресурсы, файлы будут загружены снова.
  • Progress Событие — содержит информацию о том, сколько файлов было загружено и сколько файлов осталось загрузить.
  • Updateready Событие — после завершения повторной загрузки срабатывает это событие, указывающее на то, что новая офлайн-версия готова к использованию.

Если в любом из указанных выше событий возникает ошибка, браузер вызовет событие ошибки и остановит процесс. Ниже приведены несколько ошибок, которые могут возникнуть при повторной загрузке ресурсов. [9]

  • Страница не найдена ( ошибка HTTP 404 ) или страница исчезла навсегда (ошибка HTTP 410).
  • Не удалось загрузить HTML-страницу, указывающую на манифест. [7]
  • Манифест кэша изменился во время обновления. [7]
  • Манифест кэша был изменен, но браузер не загрузил ресурс в манифесте. [7]

См. также

[ редактировать ]
  1. ^ «Кэш приложений как часть Рекомендации W3C» . 28 октября 2014 года . Проверено 30 мая 2016 г. .
  2. ^ «Использование кэша приложения — HTML: язык разметки гипертекста | MDN» . http://developer.mozilla.org . Архивировано из оригинала 15 февраля 2019 г. Проверено 11 апреля 2021 г.
  3. ^ «Подготовка к удалению AppCache» . веб.разработчик . Архивировано из оригинала 20 мая 2020 г. Проверено 02 сентября 2021 г.
  4. ^ «Окно.applicationCache» . Веб-документы MDN . Мозилла. Архивировано из оригинала 2 мая 2023 г. Проверено 29 декабря 2020 г.
  5. ^ «Манифест веб-приложения» . www.w3.org . Проверено 9 апреля 2023 г.
  6. ^ Бидельман, Эрик (29 октября 2013 г.). «Руководство для начинающих по использованию кэша приложений» . Проверено 23 апреля 2014 г.
  7. ^ Перейти обратно: а б с д и ж г час я дж Пилигрим, Марк (2010). HTML5 готов к работе . О'Рейли. Архивировано из оригинала 3 октября 2011 г. Проверено 16 ноября 2018 г.
  8. ^ Перейти обратно: а б с д «Манифесты W3 HTML5» . HTML5 . Архивировано из оригинала 24 декабря 2010 года . Проверено 3 апреля 2011 г.
  9. ^ Перейти обратно: а б «Дев.Опера» . HTML5 . Проверено 3 апреля 2011 г.
  10. ^ "ЧТОРГ" . HTML5 . Архивировано из оригинала 14 апреля 2011 года . Проверено 3 апреля 2011 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fd176d2d18e3582151b3627b9c8499ec__1714958640
URL1:https://arc.ask3.ru/arc/aa/fd/ec/fd176d2d18e3582151b3627b9c8499ec.html
Заголовок, (Title) документа по адресу, URL1:
Cache manifest in HTML5 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)