Как работает система кеширования для сайта

Я искал темы кеша, и я оказался в следующем

<meta http-equiv="Cache-control" content="description">

описание

Public - may be cached in public shared caches
Private - may only be cached in private cache
no-Cache - may not be cached
no-Store - may be cached but not archived

Что они на самом деле означают

1. Означают ли общедоступные общие кеши файлы, которые будут загружаться из кешей прокси и кешей шлюза?

2. Означают ли частные кеши файлы, на которые ссылаются кеши браузера или кеши, хранящиеся в клиентской системе.

3. Когда для описания установлено значение «без кеша», новая версия загружается с веб-сервера. Новые файлы будут загружаться каждый раз при загрузке страницы.

4. Что на самом деле имеют в виду, когда говорят, что не в архиве.

Пожалуйста, кратко объясните, как работает кеш, вместо того, чтобы объяснять общедоступные средства, доступные всем, и частные означает ограниченный доступ.


person ArrayOutOfBound    schedule 30.11.2012    source источник


Ответы (1)


Цитата из http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1

14.9.1 Что можно кэшировать

По умолчанию ответ кэшируется, если требования метода запроса, поля заголовка запроса и состояние ответа указывают на возможность кэширования. Раздел 13.4 обобщает эти значения по умолчанию для возможности кэширования. Следующие директивы ответа Cache-Control позволяют исходному серверу переопределить кешируемость ответа по умолчанию:

общедоступно

Указывает, что ответ МОЖЕТ кэшироваться любым кэшем, даже если он обычно не кэшируется или может кэшироваться только в неразделяемом кэше. (Дополнительную информацию см. также в разделе «Авторизация», раздел 14.8.)

частное

Указывает, что все ответное сообщение или его часть предназначены для одного пользователя и НЕ ДОЛЖНЫ кэшироваться общим кешем. Это позволяет исходному серверу заявить, что указанные части ответа предназначены только для одного пользователя и не являются допустимым ответом на запросы других пользователей. Частный (не общий) кэш МОЖЕТ кэшировать ответ.

Примечание. Такое использование слова «частный» определяет только то, где может быть кэширован ответ, и не может гарантировать конфиденциальность содержимого сообщения. без кэша

Если в директиве no-cache не указано имя поля, то кэш НЕ ДОЛЖЕН использовать ответ для удовлетворения последующего запроса без успешной повторной проверки на исходном сервере. Это позволяет исходному серверу предотвращать кэширование даже теми кэшами, которые настроены на возврат устаревших ответов на клиентские запросы.

Если директива no-cache указывает одно или несколько имен полей, то кэш МОЖЕТ использовать ответ для удовлетворения последующего запроса с учетом любых других ограничений на кэширование. Однако указанные имена полей НЕ ДОЛЖНЫ отправляться в ответ на последующий запрос без успешной повторной проверки на исходном сервере. Это позволяет исходному серверу предотвратить повторное использование определенных полей заголовка в ответе, в то же время разрешая кэширование остальной части ответа.

Примечание. Большинство кэшей HTTP/1.0 не распознают и не подчиняются этой директиве.

14.9.2. Что может храниться в кеше

нет магазина

Цель директивы no-store — предотвратить непреднамеренное раскрытие или хранение конфиденциальной информации (например, на резервных лентах). Директива no-store применяется ко всему сообщению и МОЖЕТ быть отправлена ​​либо в ответе, либо в запросе.

При отправке в запросе кэш НЕ ДОЛЖЕН хранить какую-либо часть ни этого запроса, ни какого-либо ответа на него. При отправке в ответе кэш НЕ ДОЛЖЕН хранить какую-либо часть ни этого ответа, ни запроса, который его вызвал. Эта директива применяется как к неразделяемым, так и к разделяемым кэшам. «НЕ ДОЛЖЕН хранить» в этом контексте означает, что кэш НЕ ДОЛЖЕН преднамеренно хранить информацию в энергонезависимом хранилище и ДОЛЖЕН предпринять все возможные попытки удалить информацию из энергозависимого хранилища как можно быстрее после ее пересылки.

Даже если эта директива связана с ответом, пользователи могут явным образом сохранить такой ответ вне системы кэширования (например, с помощью диалогового окна «Сохранить как»). Буферы истории МОГУТ хранить такие ответы как часть их нормальной работы.

Целью этой директивы является удовлетворение заявленных требований определенных пользователей и авторов сервисов, которые обеспокоены случайным выпуском информации посредством непредвиденного доступа к структурам данных кэша. Хотя использование этой директивы может улучшить конфиденциальность в некоторых случаях, мы предупреждаем, что она никоим образом НЕ является надежным или достаточным механизмом для обеспечения конфиденциальности. В частности, вредоносные или скомпрометированные кэши могут не распознавать или подчиняться этой директиве, а сети связи могут быть уязвимы для прослушивания.

person Dale    schedule 30.11.2012