HTML5 кеш манифест и предварительная выборка - PullRequest
5 голосов
/ 26 мая 2011

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

Например, допустим, я посещаю:

/page1.html

Каждая страница на моем сайте будет иметь одно и то же объявление:

<html manifest="/cache.manifest">

В файле манифеста кэша у меня есть:

CACHE MANIFEST
/page2.html
/page3.html
/page4.html

Так что же будетслучается, если я сначала захожу на /page1.html, и когда я в сети, мой браузер также узнает, что нужно кэшировать страницы 2-4.И когда я отключаюсь и захожу на страницы 2-4, все загружается очень хорошо, потому что он уже был кэширован.

ВОПРОС : Если я захожу на /page1.html, и яПОСТОЯННО подключитесь к Интернету и зайдите на /page2.html, будет ли мой браузер по-прежнему запрашивать /page2.html или он не будет делать еще один запрос к серверу и использовать то, что было кэшировано из файла /cache.manifest?По сути, действует как ссылка на предварительную выборку, которую использует Firefox?

Ответы [ 3 ]

2 голосов
/ 27 мая 2011

Ну, spec говорит "все файлы", без каких-либо исключений для html-файлов, поэтому я полагаю, что он работает для html-файлов, как и любой другой, он берется из кэша, а не с сервера. Тем не менее, я не проводил никаких тестов, чтобы подтвердить это. Я бы сделал следующее:

Создайте следующий файл манифеста кэша:

CACHE MANIFEST
/page1.html
/page2.html
/page3.html
/page4.html

Включите его в каждый из четырех файлов манифеста кэша. Тогда:

  1. Посетите страницу 1.html
  2. Измените page2.html, чтобы он отличался от того, что вы посещали page1.html
  3. Посетите страницу 2.html
  4. Посмотрите, какую версию вы получите.

Убедитесь, что вы опробовали его во всех браузерах. Мне будет интересно увидеть ваши результаты.

1 голос
/ 15 марта 2013

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

Вам необходимо изменить номер версии в файле манифеста, если вы вообще сделали какие-либо изменения в файлах HTML.так что ваш манифест извлекает последнюю версию HTML с сервера и сохраняет его в кэше.

CACHE MANIFEST

#v01
/page1.html
/page2.html
/page3.html
/page4.html

Вы можете просто увеличить V01 до 02,03 ... Итак, это обеспечитКэш будет иметь последнюю версию HTML-страниц

0 голосов
/ 26 мая 2011

Я думаю, что он берется из файла манифеста, даже если вы онлайн :).Не можете ли вы попробовать это, загрузив файл, а затем перейдя на страницу?

...