HTTP/La arquitectura de la Web/Caching
El almacenamiento de caché se creó para mejorar el desempeño y la escalabilidad, esta funciona cuando hay múltiples peticiones de la misma representación de recursos.
La ventaja del almacenamiento de cache radica en reducir la cantidad del ancho de banda requerido para una respuesta del servidor, también reduce la latencia, ayudando a prevenir embotellamientos, permitiendo que una aplicación web pueda persistir.
Un ejemplo de usar memoria cache es los datos que guardan algunas páginas en las que el usuario frecuenta (Facebook, el correo, ect). Esta guarda algunos datos que el usuario autorice (como la contraseña, preferencias ect.), estos datos tendrán persistencia (incluso si el computador está apagado) y ayudaran a agilizar los procesos de web.
Hay 2 tipos de cache:
- Caché público: Caché compartido a través de muchos usuarios, este tipo de cache reside en un servidor proxy. Ejemplo: Productos más cotizados en mercadolibre.com.
- Caché privado: Caché de un solo usuario. Por ejemplo: los buscadores web que utilizan un cache privado utilizando los recursos de su disco (RAM).
En HTTP 1.1, un mensaje de respuesta con el código de estado 200 (OK) puede ser “cacheable” por defecto, este encabezado es conocido como “control de cache del encabezado”. Una respuesta de HTTP puede tener un valor para el control de cache de público, privado, o sin cache. Un valor publico indica que los servidores proxy están autorizados a almacenar en cache la respuesta. Un valor en privado indica que solo el buscador puede almacenar en cache la respuesta. Por último, un valor de “sin-cache” indica que nada se podrá almacenar en cache.
También existe un valor llamado “Sin-almacenar” que contiene información sensible y que no puede persistir, pero puede ser removido desde la memoria lo más pronto posible.
Un servidor también puede especificar la persistencia máxima (un valor máximo de la vigencia del caché) de un control de caché. Esta persistencia máxima es medida en los segundos que tarda en almacenar en caché una respuesta. Cuando este tiempo expira, la petición deberá volver al servidor para retornar una nueva respuesta.
HTTP/1.1 200 OK //El tipo de mensaje que retornara la respuesta Last-Modified: Wed, 25 Jan 2012 17:55:15 GMT //Ultima vez que se modificó Expires: Sat, 22 Jan 2022 17:55:15 GMT //La fecha en que expira la caché Cache-Control: max-age=315360000, public //la duración en segundos que tendrá el control de caché, y el valor de la respuesta de HTTP está asignado en “público”. |