Cache Control
Quando si eseguono query contro il server GraphQL tramite il metodo GET, la risposta GraphQL può essere memorizzata nella cache lato client o nelle fasi intermedie tra client e server (come una CDN), basandosi sulla cache HTTP standard.
Questo funziona naturalmente per le persisted queries, e per l'endpoint unico e gli endpoint personalizzati funziona aggiungendo il parametro ?query={ GraphQL query } all'endpoint.
Descrizione
La cache HTTP funziona inviando un'intestazione Cache-Control con un valore max-age nella risposta, indicando per quanto tempo la risposta deve essere memorizzata nella cache.
L'estensione Cache Control offre le Liste di Cache Control, dove valori personalizzati di max-age vengono definiti per i campi e le direttive. Pertanto, query diverse contenenti diverse combinazioni di campi e direttive produrranno un valore max-age differente.
Il valore max-age della risposta viene calcolato automaticamente dal motore GraphQL. Il suo valore è il max-age più basso tra tutti i campi e le direttive della query richiesta (così come definito nella Lista di Cache Control), oppure no-store se:
- viene eseguita una mutation
- un campo o una direttiva ha
max-agecon valore0 - una regola di Controllo Accessi deve verificare lo stato dell'utente per un campo o una direttiva (nel qual caso, la risposta è specifica per l'utente, quindi non può essere memorizzata nella cache)

Liste di Cache Control
Un nuovo Custom Post Type « Lista di Cache Control » viene aggiunto al sito. Possiamo sfogliare le sue voci nella pagina « Liste di Cache Control » nel menu, e cliccare su « Aggiungi Nuova Lista di Cache Control » per aggiungere una nuova voce nell'editor.


Ogni Lista di Cache Control contiene una o più voci, ciascuna con i seguenti elementi:
- I campi e le direttive che, se compaiono nella query GraphQL, fanno entrare in vigore il max-age selezionato
- Il max-age

Dopo aver creato la Lista di Cache Control, possiamo far sì che l'endpoint la utilizzi modificando la Configurazione dello Schema corrispondente, e selezionando l'elemento dalla lista sotto il blocco « Liste di Cache Control ».
