Частные против публики в Cache-Control
-
28-09-2019 - |
Вопрос
Можете ли вы описать пример, указывающий разницу между публичным и частным контролем кеша в приложениях ASP.NET, размещенные в IIS.
Я прочитал MSDN что разница следующая:
Общественность: Устанавливает Cache-Control: public Укажите, что ответ CHATEMATE CHACHIMES CHATIVES и CHATES CACHES CACHES.
Частный: Значение по умолчанию. Устанавливает Cache-Control: Private Укажите, что ответ является кешируемым только на клиенте, а не по совместному (прокси-серверу) кэши.
Я не уверен, что я полностью понял плюсы и минусы из каждого выбора. Пример, когда или не использовать это было бы здорово.
Например, что я должен сделать, если у меня есть два веб-сервера, размещающими одно и то же приложение? Есть ли что-нибудь осмотреть, если я выберу личную или публику?
Решение
Единственное отличие состоит в том, что с частным вами не разрешаем прокси кэшировать данные, которые путешествуют через них. В конце концов, все сводится к данным, содержащимся на страницах / файлах, которые вы отправляете.
Например, ваш ISP может иметь невидимый прокси между вами и Интернетом, который кэшируют веб-страницы для уменьшения количества необходимых пропускной способности и снижения затрат. Используя Cache-Control: Private, вы указываете, что он не должен кэшировать страницу (но позволяет окончательным пользователем сделать это). Если вы используете Cache-Control: Public, вы говорите, что все в порядке для каждого кэшировать страницу, и поэтому прокси поддержит копию.
Как правило, если это что-то все может получить доступ (например, логотип на этой странице) Cache-Control: Public может быть лучше, потому что чем больше людей, которые его кэшируют, тем меньше понадобится пропускная способность. Если это то, что связано с подключенным пользователем (например, HTML на этой странице включает в себя мое имя пользователя, поэтому его не будет полезно никому) Cache-Control: Private будет лучше, так как прокси будет кэшировать данные Это не будет запрашиваться другими пользователями, и они также могут хранить данные, которые вы не хотите хранить на серверах, которые вы не доверяете.
И, конечно, все, что не является общественностью, должно иметь частный кеш. В противном случае данные могут быть сохранены на среднем прокси-сервере, его можно было бы получить доступ к кому-либо с доступом к нему.