Как мы можем контролировать кэширование веб-страниц во всех браузерах?
(привет всем: пожалуйста, не http просто бездумно копируйте http-headers и вставляйте все заголовки, которые https можете найти)
Прежде всего, Back button history is not a cache:
Модель caching свежести (раздел 4.2) не cache-coherence обязательно применима к механизмам https истории. То есть механизм cached истории может отображать cache-coherence предыдущее представление, даже https если срок его действия истек.
В cache-coherence старой спецификации HTTP browser-compatibility формулировка была еще более cached жесткой, явно запрещающей browser-compatibility браузерам игнорировать директивы browser-compatibility кеширования для истории кнопок http-headers назад.
Предполагается, что http-headers назад можно вернуться во cross-browser времени (к тому времени, когда browser-compatibility пользователь был вошел в систему). Он cross-browser не переходит к ранее открытому https URL.
Однако на практике кеш cached может влиять на кнопку "Назад" в https очень определенных обстоятельствах:
- Страница должна доставляться через HTTPS, в противном случае очистка кеша будет ненадежной. Кроме того, если вы не используете HTTPS, ваша страница уязвима для кражи логина многими другими способами.
- Вы должны отправить
Cache-Control: no-store, must-revalidate
(некоторые браузеры соблюдаютno-store
, а некоторые -must-revalidate
)
Вам cache-coherence никогда не понадобится:
-
с заголовками кеша - вообще не работает. Совершенно бесполезно.
-
post-check
/pre-check
- это директива только для IE, которая применяется только к cachable ресурсам. - Отправка одного и того же заголовка дважды или дюжиной частей. Некоторые фрагменты PHP фактически заменяют предыдущие заголовки, в результате чего отправляется только последний.
Если хотите, можете cache добавить:
-
no-cache
илиmax-age=0
, которые сделают ресурс (URL) «устаревшим» и потребуют от браузеров проверки на сервере, есть ли более новая версия (no-store
уже подразумевает, что это еще более надежно). -
Expires
с датой в прошлом для клиентов HTTP / 1.0 (хотя настоящие клиенты только для HTTP / 1.0 в наши дни полностью отсутствуют).
Бонус: The new HTTP caching RFC.
http
caching
https
http-headers
cross-browser
Как мы можем контролировать кэширование веб-страниц во всех браузерах?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.