Манифест кэша приложения на CDN? - PullRequest
9 голосов
/ 20 сентября 2011

Я читаю подробности о манифесте кэша приложения HTML5 (особенно из этой превосходной статьи ). Мне любопытно, сработает ли эта идея:

Мы размещаем все наши статические ресурсы (скрипты, CSS, шрифты, изображения) в CDN в поддомене (например, cdn.example.com, а приложение находится на www.example.com). Можно ли также разместить манифест кэша приложения на CDN? Например,

<!doctype html>
<html manifest="http://cdn.example.com/appcache.manifest">
...
<script src="http://cdn.example.com/foo.js"></script>
...
</html>

Если да, могут ли списки манифестов быть из корня CDN? Например, в манифесте:

CACHE MANIFEST
/foo.js

Кто-нибудь имеет какой-либо опыт с этим и / или знает о каких-либо предостережениях?


РЕДАКТИРОВАТЬ: В рабочем проекте спецификации WHATWG говорится " Манифесты кэша автономного приложения могут использовать абсолютные пути или даже абсолютные URL ", а затем показывает пример с URL-адресами CDN для изображений .

Ответы [ 2 ]

12 голосов
/ 15 апреля 2012

Я проверил с помощью моего манифеста (в реальном примере)

CACHE MANIFEST
# 2010-06-20:v1

iscroll.js
http://peach.blender.org/wp-content/uploads/big_big_buck_bunny.jpg

Это работает для меня ... Вы можете проверить свой манифест с помощью валидатора http://manifest -validator.com / .

W3C только говорит, что документ (HTML-файл, имеющий атрибут manifest) должен иметь тот же источник происхождения, что и манифест, они не говорят, что URL ресурсов должен быть слишком ... Вам следует внимательно прочитать ( здесь ).Я также нашел межсайтовый URL в примере W3 ( отметьте здесь ), это означает, что он работает правильно ...

Наконец, НЕ ПЫТАЙТЕСЬ ПОДКЛЮЧИТЬ МАНИФЕСТНЫЕ ФАЙЛЫ НАCDN , просто поместите его в свой сервер и свяжите ресурс с CDN.Файлы манифеста должны иметь то же происхождение, что и их основные записи, включая их HTML-файлы, и браузер проверяет файл манифеста, чтобы увидеть, изменился ли его список HTML-страниц, вместо проверки вашей HTML-страницы, чтобы определить, указывает ли она надругой файл манифеста.

0 голосов
/ 20 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...