¿Limitaciones del servidor de caché proxy?

¿Limitaciones del servidor de caché proxy?

Tengo una pregunta más que menos generalizada sobre los servidores de caché proxy.

Solo para configurar una escena hipotética, he estado jugando con la idea de instalar un servidor proxy de caché dentro de mi casa para intentar ayudar a reducir la cantidad de tráfico que fluye a través del enrutador (el ISP tiene un límite en la cantidad total de datos). puede ser usado). El servidor estaría ubicado en el interior del enrutador, por lo que el enrutador no se dará cuenta de que se almacenan algunos datos.

¿Qué tan efectivo sería un servidor de caché proxy en este caso? (Además, ¿qué otros medios puedo implementar para reducir el tráfico de red en el enrutador)?

¿Puede el servidor proxy almacenar en caché imágenes individuales de sitios web? Por ejemplo, un foro suele actualizar el contenido, pero las imágenes que se muestran en el sitio web no se modifican. ¿Se podría guardar parte de la información relativa a un sitio web? ¿O habría que volver a solicitar toda la página web por su capacidad dinámica?

Soy relativamente nuevo en las capacidades de los servidores proxy y si puedo encontrar suficiente información al respecto, eventualmente me gustaría incorporarla a mi trabajo en TI.

Respuesta1

¿Puede el servidor proxy almacenar en caché imágenes individuales de sitios web?

Sí.

¿Habría que volver a solicitar toda la página web debido a su capacidad dinámica?

Las partes dinámicas tendrían que recuperarse, el proxy debería encargarse de esto examinando los encabezados de control de proxy en cada elemento de la página recuperado por separado.


Aquí hay un ejemplo breve (editado) de una captura de Wireshark de Chrome que recupera una página web del superusuario.

Solicitud de cliente

GET /questions/419790/confused-by-cpu-model HTTP/1.1
Host: superuser.com
Connection: keep-alive
User-Agent: …Chrome…
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://superuser.com/questions
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: …

Respuesta del servidor

HTTP/1.1 200 OK
Cache-Control: public, max-age=60
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Expires: Wed, 02 May 2012 19:41:23 GMT
Last-Modified: Wed, 02 May 2012 19:40:23 GMT
Vary: *
Date: Wed, 02 May 2012 19:40:23 GMT
Content-Length: 9831

Tenga en cuenta que Cache-Control: public, max-age=60y Expires: Wed, 02 May 2012 19:41:23 GMTasí es como el servidor intenta controlar cómo se almacena en caché cada contenido. Una página de preguntas de superusuario puede tener docenas o cientos de elementos obtenidos individualmente.

Leer queEl W3C dice sobre el control de caché

El campo de encabezado general de Cache-Control se utiliza para especificar directivas que DEBEN ser cumplidas por todos los mecanismos de almacenamiento en caché a lo largo de la cadena de solicitud/respuesta. Las directivas especifican un comportamiento destinado a evitar que los cachés interfieran negativamente con la solicitud o respuesta. Estas directivas normalmente anulan los algoritmos de almacenamiento en caché predeterminados. Las directivas de caché son unidireccionales en el sentido de que la presencia de una directiva en una solicitud no implica que se deba dar la misma directiva en la respuesta.

más tarde

público
Indica que la respuesta PUEDE ser almacenada en caché por cualquier caché, incluso si normalmente no se puede almacenar en caché o solo se puede almacenar en caché dentro de una caché no compartida. (Consulte también Autorización, sección 14.8, para obtener detalles adicionales).

privado
Indica que todo o parte del mensaje de respuesta está destinado a un solo usuario y NO DEBE almacenarse en caché mediante una caché compartida. Esto permite que un servidor de origen indique que las partes especificadas de la respuesta están destinadas a un solo usuario y no son una respuesta válida para solicitudes de otros usuarios. Un caché privado (no compartido) PUEDE almacenar en caché la respuesta. Nota: Este uso de la palabra privado solo controla dónde se puede almacenar en caché la respuesta y no puede garantizar la privacidad del contenido del mensaje.

sin caché
Si la directiva sin caché no especifica un nombre de campo, entonces un caché NO DEBE usar la respuesta para satisfacer una solicitud posterior sin una revalidación exitosa con el servidor de origen. Esto permite que un servidor de origen evite el almacenamiento en caché incluso en cachés que se han configurado para devolver respuestas obsoletas a las solicitudes de los clientes.

y así sucesivamente: es un área temática amplia.

información relacionada