Подтвердить что ты не робот

Каков риск наличия HTTP-заголовка "Cache-Control: public"?

Заголовок Cache-Control HTTP/1.1 может указывать максимальный возраст, а также то, может ли содержимое кэша быть общедоступным или приватным, указывая, может ли промежуточный кеш кешировать содержимое.

Например, Ruby on Rails expires_in() по умолчанию использует Cache-Control: private

Каков риск сделать его общедоступным? Если это общедоступно, какие дополнительные места могут кэшировать содержимое - например, это прокси-сервер?

Что делать, если веб-сайт похож на Amazon.com, но пользователь анонимен, то, вероятно, не так уж много вопросов о конфиденциальности? Что делать, если пользователь вошел в систему, может возникнуть проблема конфиденциальности, поскольку данные проходят через места и данные видны. Если это место хочет быть "плохим", в любом случае вам не нужно заботиться о Cache-Control: private.

Что делать, если это веб-сайт, на котором пользователь может войти в систему, но веб-сайт ищет только продукты для здоровья, такие как рыбий жир и витамины и т.д. В этом случае существует еще меньше вопросов, связанных с конфиденциальностью, потому что это не похоже на Amazon.com, где есть гораздо больше разнообразных продуктов, таких как книги, для которых пользователь действительно может больше заботиться о проблеме конфиденциальности.

Сказав это, какое дополнительное преимущество имеет Cache-Control: public?

4b9b3361

Ответ 1

Проблема с Cache-Control: Public заключается в том, что ответ может кэшироваться и отображаться другому пользователю. Это проблема, если у вас есть аутентифицированное приложение, которое отображает личные данные. В общем, вы должны использовать только public для статических страниц или страниц, которые возвращают одни и те же данные независимо от того, какой пользователь делает запрос.

Ответ 2

Далее я нашел следующую спецификацию:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1

публичный

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

частный

Указывает, что все или часть ответное сообщение предназначено для один пользователь и НЕ ДОЛЖЕН быть кэширован общий кэш. Это позволяет чтобы указать, что указанный части ответа предназначены для только один пользователь и недействительны ответ на запросы других пользователей. Частный (не общий) кэш Кэш MAY ответ. Примечание. Это использование слово private только контролирует, где ответ может быть кэширован и не может обеспечить конфиденциальность сообщения содержание.

Итак, похоже, что это больше об "общем кеше" вместо промежуточного кеша.