Passa al contenuto principale

5.2.1 Request Cache-Control Directives

Questa sezione definisce le direttive di cache che possono essere utilizzate da un client in una richiesta HTTP.

5.2.1.1. max-age

Argomento: delta-seconds

La direttiva di richiesta "max-age" indica che il client non è disposto ad accettare una risposta la cui età è maggiore del numero di secondi specificato. A meno che non sia presente anche la direttiva di richiesta max-stale, il client non è disposto ad accettare una risposta obsoleta.

Questa direttiva utilizza la forma token della sintassi dell'argomento: ad esempio, 'max-age=5' non 'max-age="5"'. Un mittente NON DOVREBBE (SHOULD NOT) generare la forma di stringa tra virgolette.

5.2.1.2. max-stale

Argomento: delta-seconds

La direttiva di richiesta "max-stale" indica che il client è disposto ad accettare una risposta che ha superato la sua durata di freschezza. Se viene assegnato un valore a max-stale, allora il client è disposto ad accettare una risposta che ha superato la sua durata di freschezza di non più del numero di secondi specificato. Se non viene assegnato alcun valore a max-stale, allora il client è disposto ad accettare una risposta obsoleta di qualsiasi età.

Questa direttiva utilizza la forma token della sintassi dell'argomento: ad esempio, 'max-stale=10' non 'max-stale="10"'. Un mittente NON DOVREBBE (SHOULD NOT) generare la forma di stringa tra virgolette.

5.2.1.3. min-fresh

Argomento: delta-seconds

La direttiva di richiesta "min-fresh" indica che il client è disposto ad accettare una risposta la cui durata di freschezza non è inferiore alla sua età corrente più il tempo specificato in secondi. Cioè, il client desidera una risposta che sarà ancora fresca per almeno il numero di secondi specificato.

Questa direttiva utilizza la forma token della sintassi dell'argomento: ad esempio, 'min-fresh=20' non 'min-fresh="20"'. Un mittente NON DOVREBBE (SHOULD NOT) generare la forma di stringa tra virgolette.

5.2.1.4. no-cache

La direttiva di richiesta "no-cache" indica che una cache NON DEVE (MUST NOT) utilizzare una risposta memorizzata per soddisfare la richiesta senza una validazione riuscita sul server di origine.

5.2.1.5. no-store

La direttiva di richiesta "no-store" indica che una cache NON DEVE (MUST NOT) memorizzare alcuna parte di questa richiesta o di qualsiasi risposta ad essa. Questa direttiva si applica sia alle cache private che a quelle condivise. "NON DEVE memorizzare" in questo contesto significa che la cache NON DEVE (MUST NOT) intenzionalmente memorizzare le informazioni in una memoria non volatile, e DEVE (MUST) fare un tentativo del miglior sforzo per rimuovere le informazioni dalla memoria volatile il più prontamente possibile dopo averle inoltrate.

Questa direttiva NON è un meccanismo affidabile o sufficiente per garantire la privacy. In particolare, le cache malevole o compromesse potrebbero non riconoscere o obbedire a questa direttiva, e le reti di comunicazione potrebbero essere vulnerabili alle intercettazioni.

Si noti che se una richiesta contenente questa direttiva viene soddisfatta da una cache, la direttiva di richiesta no-store non si applica alla risposta già memorizzata.

5.2.1.6. no-transform

La direttiva di richiesta "no-transform" indica che un intermediario (che implementi o meno una cache) NON DEVE (MUST NOT) trasformare il payload, come definito nella Sezione 5.7.2 di [RFC7230].

5.2.1.7. only-if-cached

La direttiva di richiesta "only-if-cached" indica che il client desidera ottenere solo una risposta memorizzata. Se riceve questa direttiva, una cache DOVREBBE (SHOULD) rispondere utilizzando una risposta memorizzata che sia coerente con gli altri vincoli della richiesta, oppure rispondere con un codice di stato 504 (Gateway Timeout). Se un gruppo di cache viene gestito come un sistema unificato con buona connettività interna, una cache membro PUÒ (MAY) inoltrare tale richiesta all'interno di quel gruppo di cache.