Una caché web, también denominada servidor proxy, es una entidad de red que satisface solicitudes HTTP en nombre de un servidor web de origen.

La caché web dispone de su propio almacenamiento en disco y mantiene en él copias de los objetos solicitados recientemente.

El navegador de un usuario se puede configurar de modo que todas sus solicitudes HTTP se dirijan en primer lugar a la caché web.

Por ejemplo, suponga que un navegador está solicitando el objeto http://www.unaEscuela.edu/campus.gif.

  1. El navegador establece una conexión TCP con la caché web y envía una solicitud HTTP para el objeto a la caché web.
  2. La caché web comprueba si tiene una copia del objeto almacenada localmente. Si la tiene, la caché web devuelve el objeto dentro de un mensaje de respuesta HTTP al navegador del cliente.
  3. Si la caché web no tiene el objeto, abre una conexión TCP con el servidor de origen, es decir, con www.unaEscuela.edu. La caché web envía entonces una solicitud HTTP para obtener el objeto a través de la conexión TCP caché-servidor. Después de recibir esta solicitud, el servidor de origen envía el objeto dentro de un mensaje de respuesta HTTP a la caché web.
  4. Cuando la caché web recibe el objeto, almacena una copia en su dispositivo de almacenamiento local y envía una copia, dentro de un mensaje de respuesta HTTP, al navegador del cliente (a través de la conexión TCP existente entre el navegador del cliente y la caché web).

Ventajas del proxy:

GET Condicional

La copia de un objeto que reside en la caché puede estar desactualizada.

El objeto almacenado en el servidor web puede haber sido modificado desde que la copia fue almacenada en la caché del cliente

El mecanismo GET condicional permite a la caché verificar que sus objetos están actualizados.

GET /fruit/kiwi.gif HTTP/1.1
Host: www.exotiquecuisine.com
If-modified-since: Wed, 9 Sep 2015 09:23:24

La línea de cabecera If-modified-since: es exactamente igual al valor de la línea de cabecera Last-Modified cuando recibió la respuesta del servidor origen.