2015-09-11 4 views
0

Возможно ли создать базовую страницу с одной страницей, которая не будет храниться в кеш браузера пользователей?защита кеша одной веб-страницы

Или

Можно ли создать базовую веб-страницу одной страницы, которая удаляет себя из кэша пользователей браузера?

Я понимаю, что такая страница не может быть доказательством дурака, потому что пользователь может просто сделать снимок экрана для захвата данных на веб-странице.

+3

Наилучший подход к этому заключается в обслуживании соответствующих заголовков ['cache-control'] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9). И да, если кто-то решит кэшировать или сохранить копию данных, которые вы подавали, вы можете сделать это немного. –

+0

Возможный дубликат [Использование тегов , чтобы отключить кеширование во всех браузерах?] (Http://stackoverflow.com/questions/1341089/using-meta-tags-to-turn-off-caching-in-all-browsers) – user1666620

ответ

0

Совместимый браузер (как и все основные браузеры Chrome, FF, IE, Safari) будет уважать cache control headers и не кэшировать страницу, когда это будет указано.

Отключение кэширования должен быть сделан путем отправки следующего заголовка с ответом:

Cache-Control : no-cache 

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

Предостережения:

  • промежуточные серверы (прокси, CDN) могут иметь разные правила, и снова совместимые прокси не будут страницы кэша, помеченные «приватной», «нет кэша» или «нет-магазина» кэш заголовок управления.
  • , если более старая версия страницы не указала заголовок управления кешем, который предотвращает кеширование, тогда запрос на эту же страницу может не доходить до сервера, поскольку он может обслуживаться из кеша локального браузера или кэша прокси/CDN.

Обратите внимание, что некоторые браузеры (очень старые версии большинства браузеров и до сих пор активных версий IE) также могут смотреть на <meta> теги (как <meta http-equiv="cache-control" content="no-cache" />) не кэшировать страницу, но это поведение не определено в спецификации и должны не следует полагаться. Другие ссылки/обсуждение в этом вопросе: Using <meta> tags to turn off caching in all browsers?.

Смежные вопросы