Servicios web RESTful: almacenamiento en caché
El almacenamiento en caché se refiere al almacenamiento de la respuesta del servidor en el propio cliente, de modo que un cliente no necesita realizar una solicitud de servidor para el mismo recurso una y otra vez. Una respuesta de servidor debe tener información sobre cómo se debe realizar el almacenamiento en caché, de modo que un cliente almacene en caché la respuesta durante un período de tiempo o nunca almacene en caché la respuesta del servidor.
A continuación se muestran los encabezados que puede tener una respuesta del servidor para configurar el almacenamiento en caché de un cliente:
No Señor. | Encabezado y descripción |
---|---|
1 |
Date Fecha y hora del recurso cuando se creó. |
2 |
Last Modified Fecha y hora del recurso cuando se modificó por última vez. |
3 |
Cache-Control Encabezado principal para controlar el almacenamiento en caché. |
4 |
Expires Fecha de vencimiento y hora de almacenamiento en caché. |
5 |
Age Duración en segundos desde que se obtuvo el recurso del servidor. |
Encabezado de control de caché
A continuación se muestran los detalles de un encabezado de Cache-Control:
No Señor. | Directiva y descripción |
---|---|
1 |
Public Indica que cualquier componente puede almacenar en caché el recurso. |
2 |
Private Indica que el recurso es almacenable en caché solo por el cliente y el servidor, ningún intermediario puede almacenar en caché el recurso. |
3 |
no-cache/no-store Indica que un recurso no se puede almacenar en caché. |
4 |
max-age Indica que el almacenamiento en caché es válido hasta la edad máxima en segundos. Después de esto, el cliente debe realizar otra solicitud. |
5 |
must-revalidate Indicación al servidor para revalidar el recurso si ha pasado la edad máxima. |
Mejores prácticas
Mantenga siempre contenidos estáticos como imágenes, CSS, JavaScript en caché, con fecha de vencimiento de 2 a 3 días.
Nunca mantenga la fecha de caducidad demasiado alta.
El contenido dinámico debe almacenarse en caché solo durante unas horas.