Как я могу определить
<meta http-equiv="cache-control" content="no-cache" />
в HTML5? Согласно валидатору W3C и документация больше не действует. а>.
Как я могу определить
<meta http-equiv="cache-control" content="no-cache" />
в HTML5? Согласно валидатору W3C и документация больше не действует. а>.
Помещать инструкции по кэшированию в метатеги — плохая идея, потому что, хотя браузеры могут их читать, прокси-серверы — нет. По этой причине они недействительны, и вы должны отправлять инструкции по кэшированию как настоящие заголовки HTTP.
В начале кода вам нужно использовать это:
<!DOCTYPE html>
<html manifest="cache.manifest">
...
Затем создайте файл cache.manifest с содержимым того, что вы хотите кэшировать, т.е.
CACHE MANIFEST
# 2010-06-18:v2
# Explicitly cached 'master entries'.
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js
# Resources that require the user to be online.
NETWORK:
*
# static.html will be served if main.py is inaccessible
# offline.jpg will be served in place of all images in images/large/
# offline.html will be served in place of all other .html files
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
Манифест может иметь три отдельных раздела: CACHE, NETWORK и FALLBACK.
КЭШ: это раздел по умолчанию для записей. Файлы, перечисленные под этим заголовком (или сразу после CACHE MANIFEST), будут явно кэшированы после их первой загрузки.
СЕТЬ: файлы, перечисленные в этом разделе, могут поступать из сети, если они не находятся в кеше, в противном случае сеть не используется, даже если пользователь находится в сети. Здесь вы можете внести в белый список определенные URL-адреса или просто "", что позволяет использовать все URL-адреса. Большинству сайтов требуется "".
FALLBACK: необязательный раздел, определяющий резервные страницы, если ресурс недоступен. Первый URI — это ресурс, второй — запасной вариант, используемый в случае сбоя или ошибки сетевого запроса. Оба URI должны иметь тот же источник, что и файл манифеста. Вы можете захватывать определенные URL-адреса, а также префиксы URL-адресов. «images/large/» будет фиксировать сбои с таких URL-адресов, как «images/large/whatever/img.jpg».
Нет HTML-решения. Кэш приложений Mozilla (cache.manifest) устарел. Сайт кеша приложений говорит:
Эта функция была удалена из веб-стандартов. Хотя некоторые браузеры все еще могут его поддерживать, он находится в процессе отказа. Избегайте его использования и обновляйте существующий код, если это возможно. ... Вместо этого используйте Service Workers< /сильный>.
Кроме того, я предлагаю вам использовать HTTP Cache-Control для решения проблем с кешем.
Нет решения HTML, потому что это не проблема разметки. Кэширование — это действие над ресурсом, а не часть самого определения ресурса.
Как уже говорили другие, заголовки HTTP - лучший способ управления кешем, потому что они наблюдаются всеми кешами - <meta>
теги наблюдают только кеши браузера. Они должны быть установлены вашим сервером/веб-фреймворком.
Тем не менее, я не удивлюсь, если браузеры по-прежнему соблюдают <meta http-equiv="cache-control" content="no-cache">
для страниц с типом документа HTML5.
no-cache
на страницах GitHub, учитывая, что он предназначен для статического контента? - person Stu Cox   schedule 13.12.2012