Tipos de Web Caches
Pueden ser implementados de varias maneras.
- Cachés de navegador. Trabajan bajo reglas simples configurables en el navegador del equipo del usuario y son muy rápidos. Los User agent caches como los navegadores Web, son caches privados que operan para un solo usuario. Intermediarios pueden implementar caches compartidos utilizados por mas de una persona.
- Cachés de proxie son accedidos por cientos de usuarios al mismo tiempo reduciendo la latancia y tráfico. También conocidos como forward proxy caches usualmente son implementados por ISP (proveedores de servicios de Internet), escuelas y empresas para ahorrar ancho de banda. Los Interception proxy caches (también llamados caches transparentes) son una variante que no requiere que los clientes sean configurados explícitamente para utilizarlos.
- Los Gateway caches también conocidos como reverse proxy caches, surrogate caches, o web accelerators operan en el servidor origen y no es distinguible para los clientes. Los Gateway caches trabajan en conjunto para implementar un Content Delivery Network.
Criterios de uso (cuando usarlo y cuando no usarlo)
Los caches se utilizan principalmente por dos razones:
- Para reducir la latencia o retardo ya que las solicitudes son atendidas por el cache en lugar del servidor original. Esto toma menos tiempo al cliente desplegar la respuesta haciendo que el sitio Web se ve mas rápido a la respuesta.
- Para reducir tráfico porque cada objeto es traído del servidor una sola vez, reduciendo así el ancho de banda utilizado.
El caché mejora la experiencia del usuario ya que facilita el acceso a un sitio. Cuando el contenido es accedido directamente desde el servidor origen pueden pasar varios segundos para acceder a el. Sin embargo si la información se encuentra en caché puede disponerse de ella de manera casi instantánea.
Cuando usarlo
- Para representaciones grandes como imágenes
- Cuando se proporciona hosting de contenido estático
- Cuando no usarlo
- Cuando se requieren estadísticas exactas del uso del sitio
- Cuando se accede a páginas protegidas por passwords
- Páginas SSL, CGI’s o aplicaciones dinámicas que requieran contenido exacto
- Problemas (páginas no actualizadas, contenido dinámico…)
Los webmaster pueden perder el control del contenido debido al cache. En muchos casos existen contenidos que se actualizan dinámicamente como estadísticas y aplicaciones. En estos casos los usuarios pueden no estar viendo exactamente la última versión del contenido.
Recomendaciones de configuración (para administradores, desarrolladores)
El protocolo HTTP define los tres mecanismos básicos siguientes para controlar el cache:
- Freshnees permite a una respuesta ser utilizada sin verificarla en el servidor origen pudiendo ser controlada por el servidor y por el cliente. Por ejemplo el encabezado Expires response proporciona la fecha límite del documento. La directiva Cache-Control: max-age indica al cache a los cuantos segundos la respuesta debe actualizarse.
- Validation puede ser utilizada para verificar si una respuesta del cache es correcta después de su caducidad. Por ejemplo si la respuesta tiene un encabezado Last-Modified, un cache puede hacer una solicitud condicional usando el encabezado If-Modified-Since para ver si este ha cambiado.
- Invalidation es comúnmente un efecto colateral de otra solicitud que pasa a través del cache. Por ejemplo si la URL asociada con la respuesta almacenada en cache tiene una solicitud subsecuente de POST, PUT o DELETE, la respuesta del cache será invalidada.
Mas allá de las recomendaciones anteriores existen otras cosas que pueden hacerse para que un caché sea amigable:
- Refiérase al objeto consistentemente
- Use una librería común de imágenes
- Haga que el caché almacene imágenes y páginas que no cambien frecuentemente
- Asegúrese que el caché reconoce las paginas actualizadas regularmente (utilizar el tiempo de expiración)
- Si un recurso cambia (especialmente los archivos de descarga), cámbiele su nombre
- No cambie los archivos innecesariamente
- Minimice el uso de SSL
Para los desarrolladores:
- Utilice los encabezados y directrices: age-related, Expires, Cache-Control: max-age, If-Modified-Since and/or If-None-Match requests
- Si tiene que usar scripting no use POST. Para los cachés es prácticamente imposible almacenar contenido POST
- No embeba información específica del usuario en la URL
- No de por hecho que todas las solicitudes son atendidas por el host. Son una combinación del servidor y del caché
- Genere Content-Length response headers
El uso del cache puede ser de gran utilidad para mejorar la experiencia del usuario sin embargo debe considerarse su correcto uso para contenidos estáticos o contenidos dinámicos. Todo administrador y desarrollador dee tener en cuenta el correcto uso y configuración del mismo para evitar que los usuarios accedan a información incorrecta o desactualizada.
No hay comentarios.:
Publicar un comentario