Servizi Web RESTful - Caching

La memorizzazione nella cache si riferisce alla memorizzazione della risposta del server nel client stesso, in modo che un client non debba effettuare una richiesta al server per la stessa risorsa ancora e ancora. Una risposta del server dovrebbe contenere informazioni su come eseguire la memorizzazione nella cache, in modo che un client memorizzi nella cache la risposta per un periodo di tempo o non memorizzi mai nella cache la risposta del server.

Di seguito sono riportate le intestazioni che una risposta del server può avere per configurare la memorizzazione nella cache di un client:

Sr.No. Intestazione e descrizione

1

Date

Data e ora della risorsa in cui è stata creata.

2

Last Modified

Data e ora della risorsa in cui è stata modificata l'ultima volta.

3

Cache-Control

Intestazione primaria per controllare la memorizzazione nella cache.

4

Expires

Data e ora di scadenza della memorizzazione nella cache.

5

Age

Durata in secondi da quando la risorsa è stata recuperata dal server.

Intestazione controllo cache

Di seguito sono riportati i dettagli di un'intestazione Cache-Control:

Sr.No. Direttiva e descrizione

1

Public

Indica che la risorsa può essere memorizzata nella cache da qualsiasi componente.

2

Private

Indica che la risorsa può essere memorizzata nella cache solo dal client e dal server, nessun intermediario può memorizzare nella cache la risorsa.

3

no-cache/no-store

Indica che una risorsa non è memorizzabile nella cache.

4

max-age

Indica che la memorizzazione nella cache è valida fino a max-age in secondi. Successivamente, il cliente deve fare un'altra richiesta.

5

must-revalidate

Indicazione al server di riconvalidare la risorsa se la max-age è stata superata.

Migliori pratiche

  • Mantieni sempre contenuti statici come immagini, CSS, JavaScript memorizzabili nella cache, con data di scadenza da 2 a 3 giorni.

  • Non mantenere mai la data di scadenza troppo alta.

  • Il contenuto dinamico dovrebbe essere memorizzato nella cache solo per poche ore.