Приватное и общедоступное в Cache-Control

Не могли бы вы описать пример, показывающий разницу между Public и Private Cache-Control в приложениях asp.net, размещенных в IIS.

Я читал в MSDN , что разница заключается в следующем:

Public: Устанавливает Cache-Control: public, чтобы указать, что ответ кэшируется клиентами и общими (прокси) кэшами.

Private: Значение по умолчанию. Устанавливает Cache-Control: private, чтобы указать, что ответ кэшируется только на клиенте, а не на общих (прокси-серверах) кешах.

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

Например, что мне делать, если у меня есть два веб-сервера, на которых размещено одно и то же приложение? Есть ли что-то, чтобы остерегаться, если я выберу Личное или Публичное?

120
задан quietmint 23 May 2013 в 15:50
поделиться

1 ответ

Единственное отличие состоит в том, что с Private вы не разрешаете прокси кэшировать данные, которые проходят через них. В конце концов, все сводится к данным, содержащимся в отправляемых вами страницах / файлах.

Например, у вашего интернет-провайдера может быть невидимый прокси-сервер между вами и Интернетом, который кэширует веб-страницы для уменьшения необходимой полосы пропускания и снижения затрат. Используя cache-control: private, вы указываете, что он не должен кэшировать страницу (но разрешает это делать конечному пользователю). Если вы используете cache-control: public, вы говорите, что все могут кэшировать страницу, и поэтому прокси будет хранить копию.

Как показывает практика, если это что-то , каждый может получить доступ (например, логотип на этой странице) cache-control: public может быть лучше, потому что чем больше людей кэшируют это, тем меньше пропускная способность, которая вам понадобится.Если это что-то, что связано с подключенным пользователем (например, HTML на этой странице включает мое имя пользователя, поэтому он не будет полезен никому), cache-control: private будет лучше, поскольку прокси будут кэшировать данные которые не будут запрашиваться другими пользователями, и они также могут хранить данные, которые вы не хотите хранить, на серверах, которым вы не доверяете.

И, конечно же, все, что не является публичным, должно иметь частный кеш. В противном случае данные могут храниться на промежуточном прокси-сервере, и к ним может получить доступ любой, у кого есть к ним доступ.

222
ответ дан 24 November 2019 в 01:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: