evitar equiv disable control content cache http caching iis http-headers cache-control

http - equiv - Privado vs público en Cache-Control



header set cache control no store (1)

¿Puede describir un ejemplo que indique la diferencia entre el control de caché público y privado en aplicaciones asp.net alojadas en IIS?

Leí en MSDN que la diferencia es la siguiente:

Público: establece Cache-Control: public para especificar que los clientes y las cachés compartidas (proxy) pueden cachear la respuesta.

Privado: valor predeterminado. Establece Cache-Control: private para especificar que la respuesta solo se puede almacenar en caché en el cliente y no en cachés compartidos (servidor proxy).

No estoy seguro de haber comprendido completamente los pros y los contras de cada elección. Un ejemplo de cuándo o no usarlo sería genial.

Por ejemplo, ¿qué debo hacer si tengo dos servidores web que alojan la misma aplicación? ¿Hay algo que tener cuidado si elijo Privado o Público?


La única diferencia es que con Private no está permitiendo que los proxies guarden en caché los datos que viajan a través de ellos. Al final, todo se reduce a los datos contenidos en las páginas / archivos que está enviando.

Por ejemplo, su ISP podría tener un proxy invisible entre usted e Internet, es decir, almacenar en caché las páginas web para reducir la cantidad de ancho de banda necesaria y reducir los costos. Al usar cache-control: private, está especificando que no debe almacenar en caché la página (pero permitiendo que el usuario final lo haga). Si usa cache-control: public, está diciendo que está bien que todos guarden en caché la página, y que el proxy guarde una copia.

Como regla general, si es algo a lo que todos pueden acceder (por ejemplo, el logotipo en esta página) control de caché: público podría ser mejor, porque cuanta más gente lo guarde en caché, menos ancho de banda necesitará. Si se trata de algo relacionado con el usuario conectado (por ejemplo, el código HTML de esta página incluye mi nombre de usuario, por lo que no será útil para nadie) cache-control: private será mejor, ya que los proxies almacenarían en caché los datos eso no será solicitado por otros usuarios, y es posible que también guarden datos que no desea conservar en servidores en los que no confía.

Y, por supuesto, todo lo que no es público debe tener un caché privado. De lo contrario, los datos podrían almacenarse en un servidor proxy intermedio, si cualquiera pudiera acceder a él.