Не могли бы вы описать пример, показывающий разницу между Public и Private Cache-Control в приложениях asp.net, размещенных в IIS.
Я читал в MSDN , что разница заключается в следующем:
Public: Устанавливает Cache-Control: public, чтобы указать, что ответ кэшируется клиентами и общими (прокси) кэшами.
Private: Значение по умолчанию. Устанавливает Cache-Control: private, чтобы указать, что ответ кэшируется только на клиенте, а не на общих (прокси-серверах) кешах.
Я не уверен, что полностью понял плюсы и минусы каждого варианта. Пример того, когда использовать или нет, было бы здорово.
Например, что мне делать, если у меня есть два веб-сервера, на которых размещено одно и то же приложение? Есть ли что-то, чтобы остерегаться, если я выберу Личное или Публичное?
Единственное отличие состоит в том, что с Private вы не разрешаете прокси кэшировать данные, которые проходят через них. В конце концов, все сводится к данным, содержащимся в отправляемых вами страницах / файлах.
Например, у вашего интернет-провайдера может быть невидимый прокси-сервер между вами и Интернетом, который кэширует веб-страницы для уменьшения необходимой полосы пропускания и снижения затрат. Используя cache-control: private, вы указываете, что он не должен кэшировать страницу (но разрешает это делать конечному пользователю). Если вы используете cache-control: public, вы говорите, что все могут кэшировать страницу, и поэтому прокси будет хранить копию.
Как показывает практика, если это что-то , каждый может получить доступ (например, логотип на этой странице) cache-control: public может быть лучше, потому что чем больше людей кэшируют это, тем меньше пропускная способность, которая вам понадобится.Если это что-то, что связано с подключенным пользователем (например, HTML на этой странице включает мое имя пользователя, поэтому он не будет полезен никому), cache-control: private будет лучше, поскольку прокси будут кэшировать данные которые не будут запрашиваться другими пользователями, и они также могут хранить данные, которые вы не хотите хранить, на серверах, которым вы не доверяете.
И, конечно же, все, что не является публичным, должно иметь частный кеш. В противном случае данные могут храниться на промежуточном прокси-сервере, и к ним может получить доступ любой, у кого есть к ним доступ.