Una caché web (o caché HTTP ) es un sistema para optimizar la World Wide Web . Se implementa tanto en el lado del cliente como en el del servidor . El almacenamiento en caché de imágenes y otros archivos puede resultar en una menor demora general al navegar por la Web. [1]
Partes del sistema
Adelante y reversa
Una caché de reenvío es una caché fuera de la red del servidor web , por ejemplo, en el navegador web del cliente , en un ISP o dentro de una red corporativa. [2] Una caché de reenvío con reconocimiento de red solo almacena en caché los elementos de acceso intenso. [3] Un servidor proxy ubicado entre el cliente y el servidor web puede evaluar los encabezados HTTP y elegir si almacenar contenido web.
Una caché inversa se encuentra frente a uno o más servidores web, lo que acelera las solicitudes de Internet y reduce la carga máxima del servidor. Suele ser una red de entrega de contenido (CDN) que retiene copias de contenido web en varios puntos de una red.
Opciones HTTP
El Protocolo de transferencia de hipertexto (HTTP) define tres mecanismos básicos para controlar los cachés: actualización, validación e invalidación. [4] Esto se especifica en el encabezado de los mensajes de respuesta HTTP del servidor.
Freshness permite usar una respuesta sin volver a verificarla en el servidor de origen, y puede ser controlada tanto por el servidor como por el cliente. Por ejemplo, el encabezado de respuesta Expires da una fecha en la que el documento se vuelve obsoleto, y la directiva Cache-Control: max-age le dice a la caché por cuántos segundos está actualizada la respuesta.
La validación se puede utilizar para comprobar si una respuesta almacenada en caché sigue siendo buena después de que se vuelve obsoleta. Por ejemplo, si la respuesta tiene un encabezado Última modificación, una caché puede realizar una solicitud condicional utilizando el encabezado If-Modified-Since para ver si ha cambiado. El mecanismo ETag (etiqueta de entidad) también permite una validación fuerte y débil.
La invalidación suele ser un efecto secundario de otra solicitud que pasa por la caché. Por ejemplo, si una URL asociada con una respuesta almacenada en caché posteriormente recibe una solicitud POST, PUT o DELETE, la respuesta almacenada en caché se invalidará. Muchos CDN y fabricantes de equipos de red han reemplazado este control de caché HTTP estándar con almacenamiento en caché dinámico.
Legalidad
En 1998, la DMCA agregó reglas al Código de los Estados Unidos ( 17 USC §: 512 ) que exime a los operadores del sistema de la responsabilidad de los derechos de autor a los efectos del almacenamiento en caché.
Software del lado del servidor
Esta es una lista de software de almacenamiento en caché web del lado del servidor.
Nombre | Sistema operativo | Modo de avance | Modo inverso | Licencia |
---|---|---|---|---|
Servidor HTTP Apache | Windows, OS X, Linux, Unix, FreeBSD, Solaris, Novell NetWare, OS / 2, TPF, OpenVMS y eComStation | No | Licencia Apache 2.0 | |
Control de caché dinámico aiScaler | Linux | Propiedad | ||
ApplianSys CACHEbox | Linux | Propiedad | ||
Proxy de abrigo azul | SGOS | sí | sí | Propiedad |
Nginx | Linux , BSD variantes , OS X , Solaris , AIX , HP-UX , otros * nix sabores | No | sí | 2-cláusula BSD -como |
Puerta de enlace de administración de amenazas de Microsoft Forefront | Ventanas | sí | sí | Propiedad |
Polipo | Windows , OS X , Linux , OpenWrt , FreeBSD | sí | sí | Licencia MIT |
Calamar | Linux, Unix , Windows | sí | sí | Licencia pública general GNU |
Servidor de tráfico | Linux, Unix | sí | sí | Licencia Apache 2.0 |
Desenredar | Linux | sí | sí | Propiedad |
Barniz | Linux, Unix | Sí (posible con un VMOD) | sí | BSD |
WinGate | Ventanas | sí | sí | Propietario / Gratis para 3 usuarios |
Nuster | Linux, Unix | No | sí | Licencia pública general GNU |
McAfee Web Gateway | Sistema operativo McAfee Linux | sí | sí | Propiedad |
Ver también
- Caché de manifiesto en HTML5
- Red de entrega de contenidos
- Proyecto de cosecha
- Servidor proxy
- Acelerador web
Referencias
- ^ Fountis, Yorgos. "¿Cómo funciona la caché del navegador?" . Consultado el 19 de febrero de 2020 .
- ^ Shinder, Thomas (2 de septiembre de 2008). "Comprensión de los conceptos de almacenamiento en caché web para el cortafuegos ISA" . Servidor ISA . TechGenix Ltd.Archivado desde el original el 23 de julio de 2011 . Consultado el 27 de febrero de 2011 .
- ^ Erman, Jeffrey; Gerber, Alexandre; Hajiaghayi, Mohammad T .; Pei, Dan; Spatscheck, Oliver (2008). "Almacenamiento en caché directo compatible con redes" (PDF) . AT&T Labs : 291–300. CiteSeerX 10.1.1.159.1786 . Archivado desde el original (PDF) el 1 de abril de 2011 . Consultado el 11 de marzo de 2019 .
- ^ Kelly, Mike; Hausenblas, Michael. "Uso de enlace HTTP: encabezado para la invalidación de la caché de la puerta de enlace" (PDF) . WS-REST . pag. 20 . Consultado el 14 de junio de 2013 .
Otras lecturas
- Ari Luotonen, servidores proxy web (Prentice Hall, 1997) ISBN 0-13-680612-0
- Duane Wessels, Web Caching (O'Reilly and Associates, 2001). ISBN 1-56592-536-X
- Michael Rabinovich y Oliver Spatschak, Web Caching and Replication (Addison Wesley, 2001). ISBN 0-201-61570-3
enlaces externos
- RFC 7234 Protocolo de transferencia de hipertexto (HTTP / 1.1): almacenamiento en caché