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.