

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Controllo della chiave della cache con una policy
<a name="controlling-the-cache-key"></a>

Con una *politica di CloudFront cache*, è possibile specificare le intestazioni HTTP, i cookie e le stringhe di query CloudFront incluse nella *chiave della cache* per gli oggetti che vengono memorizzati nella cache nelle edge location. CloudFront La chiave della cache è l’identificatore univoco per ogni oggetto nella cache e determina se una richiesta HTTP del visualizzatore genera un *riscontro nella cache*.

Un riscontro nella cache si verifica quando una richiesta del visualizzatore genera la stessa chiave di cache di una richiesta precedente e l'oggetto per tale chiave di cache si trova nella cache della posizione edge ed è valido. Quando si verifica un accesso alla cache, l'oggetto viene fornito al visualizzatore da una posizione CloudFront periferica, con i seguenti vantaggi:
+ Carico ridotto sul server di origine
+ Latenza ridotta per il visualizzatore

L'inclusione di meno valori nella chiave cache aumenta la probabilità di un'occorrenza nella cache. Questo può migliorare le prestazioni del sito web o dell’applicazione grazie a una *percentuale di riscontri nella cache* più elevata (una percentuale maggiore di richieste visualizzatore che generano un riscontro nella cache). Per ulteriori informazioni, consulta [Comprensione della chiave della cache](understanding-the-cache-key.md).

Per controllare la chiave della cache, si utilizza una *politica di CloudFront cache*. Si allega una politica di cache a uno o più comportamenti della cache in una CloudFront distribuzione.

È inoltre possibile utilizzare la politica della cache per specificare le impostazioni TTL (time to live) per gli oggetti nella CloudFront cache e abilitare CloudFront la richiesta e la memorizzazione nella cache degli oggetti compressi.

**Nota**  
Le impostazioni della cache non influiscono sulle richieste gRPC perché il traffico gRPC non può essere memorizzato nella cache. Per ulteriori informazioni, consulta [Usare gRPC con le distribuzioni CloudFront](distribution-using-grpc.md).

**Topics**
+ [

# Informazioni sulle policy della cache
](cache-key-understand-cache-policy.md)
+ [

# Creazione di policy della cache
](cache-key-create-cache-policy.md)
+ [

# Utilizzo delle policy della cache gestite
](using-managed-cache-policies.md)
+ [

# Comprensione della chiave della cache
](understanding-the-cache-key.md)

# Informazioni sulle policy della cache
<a name="cache-key-understand-cache-policy"></a>

È possibile utilizzare un criterio della cache per migliorare il rapporto di accessi della cache controllando i valori (stringhe di query URL, intestazioni HTTP e cookie) inclusi nella chiave della cache. CloudFront fornisce alcuni criteri di cache predefiniti, noti come *criteri gestiti*, per i casi d'uso comuni. È possibile utilizzare queste policy gestite oppure creare policy della cache personalizzate specifiche per le proprie esigenze. Per ulteriori informazioni sulle policy gestite, consulta [Utilizzo delle policy della cache gestite](using-managed-cache-policies.md).

Una policy della cache contiene le seguenti impostazioni, suddivise in *informazioni sulle policy*, *impostazioni TTL (Time to Live)* e *impostazioni della chiave della cache*.

## Informazioni sulle policy
<a name="cache-key-understand-cache-policy-info"></a>

**Nome**  
Un nome per identificare la policy della cache. Nella console, è possibile utilizzare il nome per collegare la policy della cache a un comportamento della cache.

**Descrizione**  
Un commento per descrivere la policy della cache. Questo è facoltativo, ma può aiutare a identificare lo scopo della policy della cache.

## Impostazioni Time to Live (TTL)
<a name="cache-key-understand-cache-policy-ttl"></a>

Le impostazioni time to live (TTL) interagiscono con le intestazioni `Cache-Control` e `Expires` HTTP (se sono presenti nella risposta di origine) per determinare per quanto tempo gli oggetti nella CloudFront cache restano validi.

**Minimum TTL (TTL minimo)**  
Il periodo di tempo minimo, in secondi, durante il quale gli oggetti devono rimanere nella CloudFront cache prima di CloudFront eseguire controlli con l'origine per verificare se l'oggetto è stato aggiornato. Per ulteriori informazioni, consulta [Gestione della durata di permanenza dei contenuti nella cache (scadenza)](Expiration.md).  
Se il TTL minimo è maggiore di 0, CloudFront memorizzerà nella cache il contenuto almeno per la durata specificata nel TTL minimo della policy di cache, anche se le `private` direttive `Cache-Control: no-cache``no-store`, o sono presenti nelle intestazioni di origine.

**Maximum TTL (TTL massimo)**  
Il periodo massimo di permanenza, in secondi, degli oggetti nella CloudFront cache prima di CloudFront effettuare controlli con l'origine per verificare se l'oggetto è stato aggiornato. CloudFront utilizza questa impostazione solo quando l'origine invia `Cache-Control` o inserisce le `Expires` intestazioni con l'oggetto. Per ulteriori informazioni, consulta [Gestione della durata di permanenza dei contenuti nella cache (scadenza)](Expiration.md).

**Default TTL (TTL di default)**  
Il periodo di tempo predefinito, in secondi, durante il quale desiderate che gli oggetti rimangano nella CloudFront cache prima CloudFront dei controlli con l'origine per verificare se l'oggetto è stato aggiornato. CloudFront utilizza il valore di questa impostazione come TTL dell'oggetto solo quando l'origine *non invia `Cache-Control` o non* contiene `Expires` intestazioni con l'oggetto. Per ulteriori informazioni, consulta [Gestione della durata di permanenza dei contenuti nella cache (scadenza)](Expiration.md).

**Nota**  
Se le impostazioni TTL **minimo, TTL** **massimo e TTL** **predefinito** sono tutte impostate su 0, la memorizzazione nella cache viene disabilitata. CloudFront 

## Impostazioni chiave cache
<a name="cache-key-understand-cache-policy-settings"></a>

Le impostazioni della chiave cache specificano i valori nelle richieste del visualizzatore CloudFront incluse nella chiave della cache. I valori possono includere stringhe di query URL, intestazioni HTTP e cookie. I valori inclusi nella chiave cache vengono automaticamente inclusi nelle richieste CloudFront inviate all'origine, note come *richieste di origine*. Per informazioni sul controllo delle richieste di origine senza influire sulla chiave della cache, consulta [Controllo delle richieste di origine con una policy](controlling-origin-requests.md).

Le impostazioni della chiave della cache includono:
+ [Headers](#cache-policy-headers)
+ [Cookie](#cache-policy-cookies)
+ [Stringhe di query](#cache-policy-query-strings)
+ [Supporto della compressione](#cache-policy-compressed-objects)

**Headers**  
Le intestazioni HTTP nelle richieste dei visualizzatori CloudFront incluse nella chiave della cache e nelle richieste di origine. Per le intestazioni puoi scegliere una delle seguenti impostazioni:  
+ **None (Nessuna)** - Le intestazioni HTTP nelle richieste del visualizzatore *non* sono incluse nella chiave della cache e *non* vengono incluse automaticamente nelle richieste di origine.
+ **Includere le seguenti intestazioni** - Si specifica quali intestazioni HTTP nelle richieste del visualizzatore sono incluse nella chiave della cache e incluse automaticamente nelle richieste di origine.
Quando si utilizza l'impostazione **Includere le seguenti intestazioni**, si specificano le intestazioni HTTP in base al loro nome e non al loro valore. Considera, ad esempio, la seguente intestazione HTTP:  

```
Accept-Language: en-US,en;q=0.5
```
In questo caso, si specifica l'intestazione come `Accept-Language`, non come `Accept-Language: en-US,en;q=0.5`. Tuttavia, CloudFront include l'intestazione completa, incluso il suo valore, nella chiave della cache e nelle richieste di origine.  
Puoi anche includere alcune intestazioni generate da CloudFront nella chiave della cache. Per ulteriori informazioni, consulta [Aggiungi intestazioni CloudFront di richiesta](adding-cloudfront-headers.md).

**Cookie**  
I cookie nelle richieste dei visualizzatori CloudFront incluse nella chiave della cache e nelle richieste di origine. Per i cookie puoi scegliere una delle seguenti impostazioni:  
+ **None (Nessuno)** - I cookie nelle richieste del visualizzatore *non* sono inclusi nella chiave cache e *non* vengono automaticamente inclusi nelle richieste di origine.
+ **All (Tutti)** – I cookie nelle richieste del visualizzatore sono inclusi nella chiave cache e vengono automaticamente inclusi nelle richieste di origine.
+ **Includere cookie specifici** - Si specifica quali cookie nelle richieste del visualizzatore sono inclusi nella chiave cache e automaticamente inclusi nelle richieste di origine.
+ **Includere tutti i cookie tranne** - Si specifica quali cookie nelle richieste del visualizzatore *non* sono inclusi nella chiave cache e *non* vengono automaticamente inclusi nelle richieste di origine. Tutti gli altri cookie, eccetto quelli specificati, *sono* inclusi nella chiave cache e automaticamente inclusi nelle richieste di origine.
Quando si utilizza l'impostazione **Includere i cookie specificati** o **Includere tutti i cookie tranne**, si specificano i cookie in base al loro nome e non al loro valore. Considera, ad esempio, l’intestazione `Cookie` seguente.  

```
Cookie: session_ID=abcd1234
```
In questo caso, si specifica il cookie come `session_ID`, non come `session_ID=abcd1234`. Tuttavia, CloudFront include il cookie completo, incluso il suo valore, nella chiave della cache e nelle richieste di origine.

**Stringhe di query**  
Le stringhe di query URL nelle richieste dei visualizzatori CloudFront incluse nella chiave della cache e nelle richieste di origine. Per le stringhe di query, è possibile scegliere una delle seguenti impostazioni:  
+ **None (Nessuna)** – Le stringhe di query nelle richieste del visualizzatore *non* sono incluse nella chiave cache e *non* vengono automaticamente incluse nelle richieste di origine.
+ **All (Tutte)** – Le stringhe di query nelle richieste del visualizzatore sono incluse nella chiave della cache e vengono incluse automaticamente nelle richieste di origine.
+ **Includere stringhe di query specifiche** - Si specifica quali stringhe di query nelle richieste del visualizzatore devono essere incluse nella chiave cache e incluse automaticamente nelle richieste di origine.
+ **Includere tutte le stringhe di query tranne** - Si specifica quali stringhe di query nelle richieste del visualizzatore *non* sono incluse nella chiave cache e *non* vengono automaticamente incluse nelle richieste di origine. Tutte le altre stringhe di query, eccetto quelle specificate, *sono* incluse nella chiave cache e incluse automaticamente nelle richieste di origine.
Quando si utilizza l'impostazione **Includere le stringhe di query specificate** o **Includere tutte le stringhe di query**, si specificano le stringhe di query in base al loro nome e non al loro valore. Considera, ad esempio, il seguente percorso URL:  

```
/content/stories/example-story.html?split-pages=false
```
In questo caso, si specifica la stringa di query come `split-pages`, non come `split-pages=false`. Tuttavia, CloudFront include la stringa di query completa, incluso il relativo valore, nella chiave della cache e nelle richieste di origine.  
Per le impostazioni della chiave della cache, CloudFront considera il carattere asterisco (`*`) per le intestazioni, le stringhe di query e i cookie come una stringa letterale, non come un jolly.

**Supporto della compressione**  
Queste impostazioni consentono di richiedere e CloudFront memorizzare nella cache gli oggetti compressi nei formati di compressione Gzip o Brotli, quando il visualizzatore li supporta. Queste impostazioni consentono anche alla [compressione CloudFront ](ServingCompressedFiles.md) di funzionare. I visualizzatori indicano il loro supporto per questi formati di compressione con l'intestazione `Accept-Encoding` HTTP.  
I browser web Chrome e Firefox supportano la compressione Brotli solo quando la richiesta viene inviata utilizzando HTTPS. Questi browser non supportano Brotli con richieste HTTP.
Attivare queste impostazioni quando si verifica una delle seguenti condizioni:  
+ La tua origine restituisce oggetti compressi Gzip quando i visualizzatori li supportano (le richieste contengono l'intestazione `Accept-Encoding` HTTP con `gzip` come valore). In questo caso, utilizzate l'impostazione **Gzip enabled** (impostata su `EnableAcceptEncodingGzip` `true` nell' CloudFront API,, AWS SDKs o). AWS CLI CloudFormation
+ L'origine restituisce oggetti compressi Brotli quando i visualizzatori li supportano (le richieste contengono l'intestazione `Accept-Encoding` HTTP con `br` come valore). In questo caso, usa l'impostazione **Brotli enabled** (impostata `EnableAcceptEncodingBrotli` su `true` nell' CloudFront API, AWS SDKs AWS CLI, o). CloudFormation
+ Il comportamento della cache a cui è collegato questo criterio della cache è configurato con la [compressione CloudFront](ServingCompressedFiles.md). In questo caso, è possibile abilitare la memorizzazione nella cache per Gzip o Brotli, o entrambi. Quando CloudFront la compressione è abilitata, abilitare la memorizzazione nella cache per entrambi i formati può aiutare a ridurre i costi per il trasferimento dei dati su Internet.
Se abiliti la memorizzazione nella cache per uno o entrambi questi formati di compressione, non includere l'`Accept-Encoding`intestazione in una [policy di richiesta di origine](controlling-origin-requests.md) associata allo stesso comportamento della cache. CloudFront include sempre questa intestazione nelle richieste di origine quando la memorizzazione nella cache è abilitata per uno di questi formati, quindi l'inclusione `Accept-Encoding` in una policy di richiesta di origine non ha alcun effetto.
Se il server di origine non restituisce oggetti compressi Gzip o Brotli o il comportamento della cache non è configurato con la CloudFront compressione, non abilitare la memorizzazione nella cache per gli oggetti compressi. Se lo fai, potrebbe causare una diminuzione del tuo [rapporto di hit della cache](cache-hit-ratio.md).  
Di seguito viene spiegato come queste impostazioni influiscono su una distribuzione. CloudFront Tutti gli scenari seguenti presuppongono che la richiesta del visualizzatore includa l'intestazione `Accept-Encoding`. Quando la richiesta del visualizzatore non include l'`Accept-Encoding`intestazione, CloudFront non include questa intestazione nella chiave della cache e non la include nella richiesta di origine corrispondente.    
**Quando la memorizzazione nella cache degli oggetti compressi è attivata per entrambi i formati di compressione**  
Se il visualizzatore supporta sia Gzip che Brotli, ovvero se `br` i valori `gzip` and sono entrambi presenti nell'`Accept-Encoding`intestazione della richiesta del visualizzatore, effettua le seguenti operazioni: CloudFront   
+ Normalizza l'intestazione `Accept-Encoding: br,gzip` e include l'intestazione normalizzata nella chiave della cache. La chiave della cache non include altri valori presenti nell'intestazione `Accept-Encoding` inviata dal visualizzatore.
+ Se la posizione del bordo contiene un oggetto compresso Brotli o Gzip nella cache che corrisponde alla richiesta e non è scaduto, la posizione del bordo restituisce l'oggetto al visualizzatore.
+ Se la edge location non ha un oggetto compresso Brotli o Gzip nella cache che corrisponda alla richiesta e non sia scaduto, CloudFront include l'header () normalizzato nella richiesta di origine corrispondente. `Accept-Encoding: br,gzip` La richiesta di origine non include altri valori presenti nell'intestazione `Accept-Encoding` inviata dal visualizzatore.
Se il visualizzatore supporta un formato di compressione ma non l'altro, ad esempio, se `gzip` è un valore nell'`Accept-Encoding`intestazione della richiesta del visualizzatore ma non lo è, esegue le seguenti operazioni: `br` CloudFront   
+ Normalizza l'intestazione `Accept-Encoding: gzip` e include l'intestazione normalizzata nella chiave della cache. La chiave della cache non include altri valori presenti nell'intestazione `Accept-Encoding` inviata dal visualizzatore.
+ Se la posizione edge contiene un oggetto compresso Gzip nella cache che corrisponde alla richiesta e non è scaduto, la posizione edge restituisce l'oggetto al visualizzatore.
+ Se la edge location non ha un oggetto compresso Gzip nella cache che corrisponda alla richiesta e non sia scaduto, CloudFront include l'header normalizzato () nella richiesta di origine corrispondente. `Accept-Encoding: gzip` La richiesta di origine non include altri valori presenti nell'intestazione `Accept-Encoding` inviata dal visualizzatore.
Per capire cosa succede CloudFront se il visualizzatore supporta Brotli ma non Gzip, sostituite i due formati di compressione tra loro nell'esempio precedente.  
Se il visualizzatore non supporta Brotli o Gzip, ovvero l'`Accept-Encoding`intestazione nella richiesta del visualizzatore non contiene o ha valori: `br` `gzip` CloudFront  
+ Non include l'intestazione `Accept-Encoding` nella chiave della cache.
+ Include `Accept-Encoding: identity` nella richiesta di origine corrispondente. La richiesta di origine non include altri valori presenti nell'intestazione `Accept-Encoding` inviata dal visualizzatore.  
**Quando la memorizzazione nella cache degli oggetti compressi è abilitata per un formato di compressione, ma non per l'altro**  
Se il visualizzatore supporta il formato per cui è abilitata la memorizzazione nella cache, ad esempio, se la memorizzazione nella cache degli oggetti compressi è abilitata per Gzip e il visualizzatore supporta Gzip (`gzip`è uno dei valori nell'intestazione della richiesta del visualizzatore), esegue le seguenti operazioni: `Accept-Encoding` CloudFront   
+ Normalizza l'intestazione `Accept-Encoding: gzip` e include l'intestazione normalizzata nella chiave della cache.
+ Se la posizione edge contiene un oggetto compresso Gzip nella cache che corrisponde alla richiesta e non è scaduto, la posizione edge restituisce l'oggetto al visualizzatore.
+ Se la edge location non ha un oggetto compresso Gzip nella cache che corrisponde alla richiesta e non è scaduto, CloudFront include l'header normalizzato (`Accept-Encoding: gzip`) nella richiesta di origine corrispondente. La richiesta di origine non include altri valori presenti nell'intestazione `Accept-Encoding` inviata dal visualizzatore.
Questo comportamento è lo stesso quando il visualizzatore supporta sia Gzip che Brotli (l'intestazione `Accept-Encoding` nella richiesta del visualizzatore include entrambi `gzip` *e* `br` come valori), perché in questo scenario, la memorizzazione nella cache degli oggetti compressi per Brotli non è abilitata.  
Per capire cosa CloudFront succede se la memorizzazione nella cache degli oggetti compressi è abilitata per Brotli ma non per Gzip, sostituite i due formati di compressione tra loro nell'esempio precedente.  
Se il visualizzatore non supporta il formato di compressione per il quale è abilitata la memorizzazione nella cache (l'`Accept-Encoding`intestazione nella richiesta del visualizzatore non contiene il valore per quel formato),: CloudFront  
+ Non include l'intestazione `Accept-Encoding` nella chiave della cache.
+ Include `Accept-Encoding: identity` nella richiesta di origine corrispondente. La richiesta di origine non include altri valori presenti nell'intestazione `Accept-Encoding` inviata dal visualizzatore.  
**Quando la memorizzazione nella cache degli oggetti compressi è disabilitata per entrambi i formati**  
Quando la memorizzazione nella cache degli oggetti compressi è disabilitata per entrambi i formati di compressione, CloudFront tratta l'intestazione come qualsiasi altra `Accept-Encoding` intestazione HTTP nella richiesta del visualizzatore. Per impostazione predefinita, non è inclusa nella chiave della cache e non è inclusa nelle richieste di origine. È possibile includerla nell'elenco delle intestazioni in una policy della cache o in una policy di richiesta di origine come qualsiasi altra intestazione HTTP.

# Creazione di policy della cache
<a name="cache-key-create-cache-policy"></a>

È possibile utilizzare una policy della cache per migliorare il rapporto di accessi della cache controllando i valori (stringhe di query URL, intestazioni HTTP e cookie) inclusi nella chiave della cache. Puoi creare una policy di cache nella CloudFront console, con AWS Command Line Interface (AWS CLI) o con l' CloudFront API.

Dopo aver creato un criterio di cache, è possibile collegarlo a uno o più comportamenti della cache in una distribuzione CloudFront .

------
#### [ Console ]

**Per creare una policy della cache (console)**

1. Accedi Console di gestione AWS e apri la pagina delle **politiche** nella CloudFront console all'indirizzo[https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

1. Scegliere **Crea policy cache**.

1. Scegliere l'impostazione desiderata per questa policy della cache. Per ulteriori informazioni, consulta [Informazioni sulle policy della cache](cache-key-understand-cache-policy.md).

1. Al termine, scegli **Create (Crea)**.

Dopo aver creato una policy della cache, è possibile collegarla a un comportamento della cache.

**Per allegare una policy della cache a una distribuzione esistente (console)**

1. Aprire la pagina **Distribuzioni** nella console CloudFront all'indirizzo [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Scegli la distribuzione da aggiornare, quindi scegli la scheda **Comportamenti**.

1. Scegliere il comportamento della cache da aggiornare, quindi scegliere **Modifica**.

   In alternativa, per creare un nuovo comportamento della cache, scegliere **Crea comportamento**.

1. Per la **Chiave di cache e richiesta di origine**, assicurarsi che sia scelto **Policy di cache e policy di richiesta origine**.

1. Per **Policy cache**, scegliere la policy della cache da collegare a questo comportamento della cache.

1. Scegli **Save changes (Salva modifiche)** nella parte inferiore della pagina.

**Per allegare una policy della cache a una nuova distribuzione (console)**

1. Apri la CloudFront console all'indirizzo[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Scegliere **Create Distribution (Crea distribuzione)**.

1. Per la **Chiave di cache e richiesta di origine**, assicurarsi che sia scelto **Policy di cache e policy di richiesta origine**.

1. Per **Cache policy** (Policy della cache), scegliere la policy della cache da associare al comportamento predefinito della cache di questa distribuzione.

1. Scegliere le impostazioni desiderate per l'origine, il comportamento predefinito della cache e altre impostazioni di distribuzione. Per ulteriori informazioni, consulta [Riferimento a tutte le impostazioni di distribuzione](distribution-web-values-specify.md).

1. Al termine, scegliere **Crea distribuzione**.

------
#### [ CLI ]

Per creare una politica di cache con AWS Command Line Interface (AWS CLI), usa il **aws cloudfront create-cache-policy** comando. È possibile utilizzare un file di input per fornire i parametri di input del comando, anziché specificare ogni singolo parametro come input della riga di comando.

**Per creare una policy della cache (CLI con file di input)**

1. Utilizzare il comando seguente per creare un file denominato `cache-policy.yaml` che contiene tutti i parametri di input per il comando **create-cache-policy**.

   ```
   aws cloudfront create-cache-policy --generate-cli-skeleton yaml-input > cache-policy.yaml
   ```

1. Aprire il file `cache-policy.yaml` appena creato. Modificare il file per specificare le impostazioni delle policy della cache desiderate, quindi salvare il file. È possibile rimuovere i campi facoltativi dal file, ma non rimuovere i campi obbligatori.

   Per ulteriori informazioni sulle impostazioni delle policy della cache, consulta [Informazioni sulle policy della cache](cache-key-understand-cache-policy.md).

1. Utilizzare il comando seguente per creare la policy della cache utilizzando i parametri di input dal file `cache-policy.yaml`.

   ```
   aws cloudfront create-cache-policy --cli-input-yaml file://cache-policy.yaml
   ```

   Prendere nota del valore `Id` nell'output del comando. Questo è l'ID della politica della cache e ne hai bisogno per allegare la politica della cache al comportamento della cache di una CloudFront distribuzione.

**Per collegare una policy della cache a una distribuzione esistente (CLI con file di input)**

1. Utilizzate il comando seguente per salvare la configurazione di CloudFront distribuzione per la distribuzione che desiderate aggiornare. Sostituisci *distribution\$1ID* con l'ID della distribuzione.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Aprire il file `dist-config.yaml` appena creato. Modificare il file, apportando le seguenti modifiche a ogni comportamento della cache che si sta aggiornando per utilizzare una policy della cache.
   + Nel comportamento della cache, aggiungere un campo denominato `CachePolicyId`. Per il valore del campo, utilizzare l'ID della policy della cache annotato dopo la creazione della policy.
   + Rimuovere i campi `MinTTL`, `MaxTTL`, `DefaultTTL` e `ForwardedValues` dal comportamento della cache. Queste impostazioni sono specificate nella policy della cache, pertanto non è possibile includere questi campi e una policy della cache nello stesso comportamento della cache.
   + Rinominare il campo `ETag` in `IfMatch`, ma non modificare il valore del campo.

   Salvare il file al termine.

1. Utilizzare il comando seguente per aggiornare la distribuzione e utilizzare la policy della cache. Sostituisci *distribution\$1ID* con l'ID della distribuzione.

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**Per allegare una policy della cache a una nuova distribuzione (CLI con file di input)**

1. Utilizzare il comando seguente per creare un file denominato `distribution.yaml` che contiene tutti i parametri di input per il comando **create-distribution**.

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. Aprire il file `distribution.yaml` appena creato. Nel comportamento predefinito della cache immettere nel campo `CachePolicyId` l'ID della policy della cache annotato dopo la creazione della policy. Continuare a modificare il file per specificare le impostazioni di distribuzione desiderate, quindi salvare il file al termine.

   Per ulteriori informazioni sulle impostazioni di distribuzione, consulta [Riferimento a tutte le impostazioni di distribuzione](distribution-web-values-specify.md).

1. Utilizzare il comando seguente per creare la distribuzione utilizzando i parametri di input dal file `distribution.yaml`.

   ```
   aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
   ```

------
#### [ API ]

Per creare una politica di cache con l' CloudFront API, usa [CreateCachePolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateCachePolicy.html). Per ulteriori informazioni sui campi specificati in questa chiamata API, consulta [Informazioni sulle policy della cache](cache-key-understand-cache-policy.md) la documentazione di riferimento sull'API per il tuo AWS SDK o altro client API.

Dopo aver creato una policy della cache, è possibile collegarla a un comportamento della cache, utilizzando una delle seguenti chiamate API:
+ Per collegarlo a un comportamento di cache in una distribuzione esistente, usa [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Per collegarlo a un comportamento di cache in una nuova distribuzione, usa [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Per entrambe le chiamate API, fornire l'ID della policy della cache nel campo `CachePolicyId`, all'interno di un comportamento della cache. Per ulteriori informazioni sugli altri campi specificati in queste chiamate API, consulta [Riferimento a tutte le impostazioni di distribuzione](distribution-web-values-specify.md) la documentazione di riferimento sull'API per il tuo AWS SDK o altro client API.

------

# Utilizzo delle policy della cache gestite
<a name="using-managed-cache-policies"></a>

CloudFront fornisce una serie di politiche di cache gestite che puoi collegare a qualsiasi comportamento della cache della tua distribuzione. Con una policy della cache gestita, non è necessario scrivere o gestire policy della cache personalizzate. Le policy gestite utilizzano impostazioni ottimizzate per casi d'uso specifici.

Per utilizzare una policy della cache gestita, è necessario collegarla a un comportamento della cache nella distribuzione. Il processo è lo stesso di quando si crea una policy della cache, ma invece di crearne una nuova, è sufficiente collegare una delle policy della cache gestite. È possibile allegare la policy per nome (con la console) o per ID (con AWS CLI o SDKs). I nomi e IDs sono elencati nella sezione seguente.

Per ulteriori informazioni, consulta [Creazione di policy della cache](cache-key-create-cache-policy.md).

Negli argomenti seguenti vengono descritte le policy della cache gestite che è possibile utilizzare.

**Topics**
+ [

## Amplify
](#managed-cache-policy-amplify)
+ [

## CachingDisabled
](#managed-cache-policy-caching-disabled)
+ [

## CachingOptimized
](#managed-cache-caching-optimized)
+ [

## CachingOptimizedForUncompressedObjects
](#managed-cache-caching-optimized-uncompressed)
+ [

## Elementare- MediaPackage
](#managed-cache-policy-mediapackage)
+ [

## UseOriginCacheControlHeaders
](#managed-cache-policy-origin-cache-headers)
+ [

## UseOriginCacheControlHeaders-QueryStrings
](#managed-cache-policy-origin-cache-headers-query-strings)

## Amplify
<a name="managed-cache-policy-amplify"></a>

[Visualizza questa politica nella CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/2e54312d-136d-493c-8eb9-b001f22f67d2)

Questa policy è progettata per l'utilizzo con un'origine che è una Web App [AWS Amplify](https://aws.amazon.com/amplify/).

Quando si utilizza CloudFormation AWS CLI, o l' CloudFront API, l'ID per questa policy è:

`2e54312d-136d-493c-8eb9-b001f22f67d2`

Questa policy ha le seguenti impostazioni:
+ **TTL minimo** = 2 secondi
+ **TTL massimo** = 600 secondi (10 minuti)
+ **TTL di default** = 2 secondi
+ **Intestazioni incluse nella chiave cache:**
  + `Authorization`
  + `CloudFront-Viewer-Country`
  + `Host`

  Viene inclusa anche l'intestazione `Accept-Encoding` normalizzata perché l'impostazione degli oggetti compressi della cache è abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookie inclusi nella chiave cache:** tutti i cookie sono inclusi.
+ **Stringhe di query incluse nella chiave cache:** tutte le stringhe di query sono incluse.
+ **Impostazione cache oggetti compressi:** Abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

**avvertimento**  
Poiché questa policy ha un TTL minimo maggiore di 0, CloudFront memorizzerà nella cache il contenuto almeno per la durata specificata nel TTL minimo della policy di cache, anche se le `private` direttive `Cache-Control: no-cache``no-store`, o sono presenti nelle intestazioni di origine.

### AWS Amplify Politiche di hosting della cache
<a name="additional-amplify-policies"></a>

Amplify utilizza le seguenti policy della cache gestite per ottimizzare la configurazione della cache predefinita per le applicazioni dei clienti:
+ [Amplify-Default](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4d1d2f1d-3a71-49ad-9e08-7ea5d843a556)
+ [Amplifica- DefaultNoCookies](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/a6bad946-36c3-4c33-aa98-362c74a7fb13)
+ [Amplifica- ImageOptimization](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/1c6db51a-a33f-469a-8245-dae26771f530)
+ [Amplifica- StaticContent](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/7e5fad67-ee98-4ad0-b05a-394999eefc1a)

**Nota**  
Queste policy sono utilizzate solo da Amplify. Si sconsiglia di utilizzare queste policy per le distribuzioni. 

Per ulteriori informazioni sulla gestione della configurazione della cache per l’applicazione ospitata su Amplify, consulta [Gestione della configurazione della cache](https://docs.aws.amazon.com/amplify/latest/userguide/caching.html) nella *Guida per l’utente di Amplify Hosting*.

## CachingDisabled
<a name="managed-cache-policy-caching-disabled"></a>

[Visualizza questa politica nella console CloudFront ](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4135ea2d-6df8-44a3-9df3-4b5a84be39ad)

Questa policy disabilita la memorizzazione nella cache. Questa policy è utile per il contenuto dinamico e per le richieste che non sono memorizzabili nella cache.

Quando si utilizza CloudFormation AWS CLI, o l' CloudFront API, l'ID per questa policy è:

`4135ea2d-6df8-44a3-9df3-4b5a84be39ad`

Questa policy ha le seguenti impostazioni:
+ **TTL minimo** = 0 secondi
+ **TTL massimo** = 0 secondi
+ **TTL di default** = 0 secondi
+ **Intestazioni incluse nella chiave cache:** nessuna
+ **Cookie inclusi nella chiave cache:** nessuno
+ **Stringhe di query incluse nella chiave della cache:** nessuna
+ **Impostazione cache degli oggetti compressi:** disabilitata

## CachingOptimized
<a name="managed-cache-caching-optimized"></a>

[Visualizza questa politica nella CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/658327ea-f89d-4fab-a63d-7e88639e58f6)

Questa politica è progettata per ottimizzare l'efficienza della cache riducendo al minimo i valori CloudFront inclusi nella chiave della cache. CloudFront non include stringhe di query o cookie nella chiave cache e include solo l'intestazione normalizzata`Accept-Encoding`. [Ciò consente di CloudFront memorizzare separatamente gli oggetti nei formati di compressione Gzip e Brotli quando l'origine li restituisce o quando è abilitata la compressione dei bordi. CloudFront ](ServingCompressedFiles.md)

Quando si utilizza CloudFormation, o l' CloudFront API AWS CLI, l'ID per questa policy è:

`658327ea-f89d-4fab-a63d-7e88639e58f6`

Questa policy ha le seguenti impostazioni:
+ **TTL minimo** = 1 secondo
+ **TTL massimo** = 31.536.000 secondi (365 giorni).
+ **TTL di default** = 86.400 secondi (24 ore).
+ **Intestazioni incluse nella chiave della cache:** nessuna è esplicitamente inclusa. L'intestazione `Accept-Encoding` normalizzata viene inclusa perché l'impostazione degli oggetti compressi della cache è abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookie inclusi nella chiave cache:** nessuno.
+ **Stringhe di query incluse nella chiave della cache:** nessuna.
+ **Impostazione cache oggetti compressi:** Abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

**avvertimento**  
Poiché questa policy ha un TTL minimo maggiore di 0, CloudFront memorizzerà nella cache il contenuto almeno per la durata specificata nel TTL minimo della policy di cache, anche se le `private` direttive `Cache-Control: no-cache``no-store`, o sono presenti nelle intestazioni di origine.

## CachingOptimizedForUncompressedObjects
<a name="managed-cache-caching-optimized-uncompressed"></a>

[Visualizza questa politica nella console CloudFront ](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/b2884449-e4de-46a7-ac36-70bc7f1ddd6d)

Questa policy è progettata per ottimizzare l'efficienza della cache riducendo al minimo i valori inclusi nella chiave cache. Non sono incluse stringhe di query, intestazioni o cookie. Questa policy è identica a quella precedente, ma disabilita l'impostazione degli oggetti compressi nella cache.

Quando si utilizza CloudFormation AWS CLI, o l' CloudFront API, l'ID per questa policy è:

`b2884449-e4de-46a7-ac36-70bc7f1ddd6d`

Questa policy ha le seguenti impostazioni:
+ **TTL minimo** = 1 secondo
+ **TTL massimo** = 31.536.000 secondi (365 giorni)
+ **TTL di default** = 86.400 secondi (24 ore)
+ **Intestazioni incluse nella chiave cache:** nessuna
+ **Cookie inclusi nella chiave cache:** nessuno
+ **Stringhe di query incluse nella chiave della cache:** nessuna
+ **Impostazione cache degli oggetti compressi:** disabilitata

**avvertimento**  
Poiché questa policy ha un TTL minimo maggiore di 0, CloudFront memorizzerà nella cache il contenuto almeno per la durata specificata nel TTL minimo della policy di cache, anche se le `private` direttive `Cache-Control: no-cache``no-store`, o sono presenti nelle intestazioni di origine.

## Elementare- MediaPackage
<a name="managed-cache-policy-mediapackage"></a>

[Visualizza questa politica nella console CloudFront ](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/08627262-05a9-4f76-9ded-b50ca2e3a84f)

Questo criterio è progettato per l'utilizzo con un'origine che è un endpoint AWS Elemental MediaPackage .

Quando si utilizza CloudFormation AWS CLI, o l' CloudFront API, l'ID per questa policy è:

`08627262-05a9-4f76-9ded-b50ca2e3a84f`

Questa policy ha le seguenti impostazioni:
+ **TTL minimo** = 0 secondi
+ **TTL massimo** = 31.536.000 secondi (365 giorni)
+ **TTL di default** = 86.400 secondi (24 ore)
+ **Intestazioni incluse nella chiave cache:**
  + `Origin`

  Viene inclusa anche l'intestazione `Accept-Encoding` normalizzata perché l'impostazione degli oggetti compressi della cache è abilitata per Gzip. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookie inclusi nella chiave cache:** nessuno
+ **Stringhe di query incluse nella chiave della cache:**
  + `aws.manifestfilter`
  + `start`
  + `end`
  + `m`
+ **Impostazione cache oggetti compressi:** abilitata per Gzip. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

## UseOriginCacheControlHeaders
<a name="managed-cache-policy-origin-cache-headers"></a>

[Visualizza questa politica nella CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/83da9c7e-98b4-4e11-a168-04f0df8e2c65)

Questa policy è progettata per essere utilizzata con un’origine che restituisce intestazioni di risposta HTTP `Cache-Control` e non fornisce contenuti diversi in base ai valori presenti nella stringa di query. Se l’origine fornisce diversi contenuti in base ai valori presenti nella stringa di query, valuta la possibilità di utilizzare [UseOriginCacheControlHeaders-QueryStrings](#managed-cache-policy-origin-cache-headers-query-strings).

Quando si utilizza CloudFormation AWS CLI, o l' CloudFront API, l'ID per questa policy è:

`83da9c7e-98b4-4e11-a168-04f0df8e2c65`

Questa policy ha le seguenti impostazioni:
+ **TTL minimo** = 0 secondi
+ **TTL massimo** = 31.536.000 secondi (365 giorni)
+ **TTL di default** = 0 secondi
+ **Intestazioni incluse nella chiave cache:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  Viene inclusa anche l'intestazione `Accept-Encoding` normalizzata perché l'impostazione degli oggetti compressi della cache è abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookie inclusi nella chiave della cache:** tutti i cookie sono inclusi.
+ **Stringhe di query incluse nella chiave della cache:** nessuna.
+ **Impostazione cache oggetti compressi:** Abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

## UseOriginCacheControlHeaders-QueryStrings
<a name="managed-cache-policy-origin-cache-headers-query-strings"></a>

[Visualizza questa politica nella CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4cc15a8a-d715-48a4-82b8-cc0b614638fe)

Questa policy è progettata per essere utilizzata con un’origine che restituisce intestazioni di risposta HTTP `Cache-Control` e fornisce contenuti diversi in base ai valori presenti nella stringa di query. Se l’origine non fornisce contenuti diversi in base ai valori presenti nella stringa di query, valuta la possibilità di utilizzare [UseOriginCacheControlHeaders](#managed-cache-policy-origin-cache-headers).

Quando si utilizza CloudFormation AWS CLI, o l' CloudFront API, l'ID per questa policy è:

`4cc15a8a-d715-48a4-82b8-cc0b614638fe`

Questa policy ha le seguenti impostazioni:
+ **TTL minimo** = 0 secondi
+ **TTL massimo** = 31.536.000 secondi (365 giorni)
+ **TTL di default** = 0 secondi
+ **Intestazioni incluse nella chiave cache:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  Viene inclusa anche l'intestazione `Accept-Encoding` normalizzata perché l'impostazione degli oggetti compressi della cache è abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookie inclusi nella chiave della cache:** tutti i cookie sono inclusi.
+ **Stringhe di query incluse nella chiave della cache:** tutte le stringhe di query sono incluse.
+ **Impostazione cache oggetti compressi:** Abilitata. Per ulteriori informazioni, consulta [Supporto della compressione](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

# Comprensione della chiave della cache
<a name="understanding-the-cache-key"></a>

La *chiave cache* determina se una richiesta del visualizzatore a una edge location CloudFront genera una *occorrenza della cache*. La chiave cache è l'identificatore univoco per un oggetto nella cache. Ogni oggetto nella cache ha una chiave cache univoca.

Un hit della cache si verifica quando una richiesta diel visualizzatore genera la stessa chiave di cache di una richiesta precedente e l'oggetto per tale chiave di cache si trova nella cache della posizione edge ed è valido. In presenza di un'occorrenza nella cache, l'oggetto richiesto viene servito al visualizzatore da una edge location CloudFront, che presenta i seguenti vantaggi:
+ Carico ridotto sul server di origine
+ Latenza ridotta per il visualizzatore

È possibile ottenere prestazioni migliori dal sito Web o dall'applicazione quando si dispone di un *rapporto di hit della cache* più elevato (una percentuale maggiore di richieste di visualizzatori che si traducono in un hit della cache). Un modo per migliorare il rapporto di accesso alla cache consiste nell'includere solo i valori minimi necessari nella chiave della cache. Per ulteriori informazioni, consultare le sezioni indicate di seguito.

È possibile modificare i valori (stringhe di query URL, intestazioni HTTP e cookie) nella chiave della cache utilizzando una [policy della cache](controlling-the-cache-key.md). Puoi anche modificare la chiave della cache utilizzando una [funzione Lambda@Edge](lambda-at-the-edge.md) o una [funzione CloudFront](cloudfront-functions.md) su una richiesta visualizzatore. Prima di modificare la chiave della cache, è importante capire come è stata progettata l'applicazione e quando e come potrebbe servire risposte diverse in base alle caratteristiche della richiesta del visualizzatore. Quando un valore nella richiesta del visualizzatore determina la risposta restituita dall'origine, è necessario includere tale valore nella chiave della cache. Ma se includi un valore nella chiave della cache che non influisce sulla risposta restituita dall'origine, potresti finire per memorizzare nella cache oggetti duplicati.

## Chiave della cache predefinita
<a name="cache-key-default"></a>

Per impostazione predefinita, la chiave della cache per una distribuzione CloudFront include le seguenti informazioni:
+ Il nome di dominio della distribuzione CloudFront (ad esempio, d1111abcdef8.cloudfront.net)
+ Il percorso URL dell'oggetto richiesto (ad esempio, `/content/stories/example-story.html`)

**Nota**  
Il metodo `OPTIONS` è incluso nella chiave cache per le richieste `OPTIONS`. Ciò significa che le risposte alle richieste `OPTIONS` vengono memorizzate nella cache separatamente dalle risposte alle richieste `GET` e `HEAD`.

Altri valori della richiesta del visualizzatore non sono inclusi nella chiave cache, per impostazione predefinita. Si consideri la seguente richiesta HTTP da un browser Web.

```
            GET /content/stories/example-story.html?ref=0123abc&split-pages=false HTTP/1.1
            Host: d111111abcdef8.cloudfront.net
            User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/68.0
            Accept: text/html,*/*
            Accept-Language: en-US,en
            Cookie: session_id=01234abcd
            Referer: https://news.example.com/
```

Quando una richiesta del visualizzatore come questa arriva in una posizione edge di CloudFront, CloudFront utilizza la chiave cache per determinare se esiste un'occorrenza nella cache. Per impostazione predefinita, solo i seguenti componenti della richiesta sono inclusi nella chiave cache: `/content/stories/example-story.html` e `d111111abcdef8.cloudfront.net`. Se l'oggetto richiesto non è nella cache (una mancata cache), CloudFront invia una richiesta all'origine per ottenere l'oggetto. Dopo aver ottenuto l'oggetto, CloudFront lo restituisce al visualizzatore e lo memorizza nella cache della edge location.

Quando CloudFront riceve un'altra richiesta per lo stesso oggetto, come determinato dalla chiave cache, CloudFront serve immediatamente l'oggetto memorizzato nella cache al visualizzatore, senza inviare una richiesta all'origine. Ad esempio, si consideri la seguente richiesta HTTP che viene dopo la richiesta precedente.

```
            GET /content/stories/example-story.html?ref=xyz987&split-pages=true HTTP/1.1
            Host: d111111abcdef8.cloudfront.net
            User-Agent: Mozilla/5.0 AppleWebKit/537.36 Chrome/83.0.4103.116
            Accept: text/html,*/*
            Accept-Language: en-US,en
            Cookie: session_id=wxyz9876
            Referer: https://rss.news.example.net/
```

Questa richiesta è per lo stesso oggetto della richiesta precedente, ma è diversa dalla richiesta precedente. Ha una stringa di query URL diversa, diverse intestazioni `User-Agent` e `Referer` e un cookie `session_id` diverso. Tuttavia, nessuno di questi valori fa parte della chiave cache per impostazione predefinita, quindi questa seconda richiesta genera un hit della cache.

## Personalizzazione della chiave della cache
<a name="cache-key-custom"></a>

In alcuni casi, è possibile includere ulteriori informazioni nella chiave della cache, anche se ciò potrebbe comportare un minor numero di accessi della cache. È possibile specificare cosa includere nella chiave della cache utilizzando una [policy della cache](controlling-the-cache-key.md).

Ad esempio, se il server di origine utilizza l'intestazione `Accept-Language` HTTP nelle richieste del visualizzatore per restituire contenuti diversi in base alla lingua del visualizzatore, è possibile includere questa intestazione nella chiave cache. Quando si esegue questa operazione, CloudFront utilizza questa intestazione per determinare le occorrenze nella cache e include l'intestazione nelle *richieste di origine* (richieste che CloudFront invia all'origine quando c'è una mancanza di cache).

Una potenziale conseguenza dell'inclusione di valori aggiuntivi nella chiave cache è che CloudFront potrebbe finire per memorizzare nella cache oggetti duplicati a causa della variazione che può verificarsi nelle richieste del visualizzatore. Ad esempio, i visualizzatori potrebbero inviare uno dei seguenti valori per l'intestazione `Accept-Language`:
+ `en-US,en`
+ `en,en-US`
+ `en-US, en`
+ `en-US`

Tutti questi valori diversi indicano che la lingua del visualizzatore è l'inglese, ma la variazione può costringere CloudFront a creare la cache dello stesso oggetto più volte. Ciò può ridurre gli accessi della cache e aumentare il numero di richieste di origine. È possibile evitare questa duplicazione non includendo l'intestazione `Accept-Language` nella chiave cache e configurando invece il sito Web o l'applicazione per utilizzare URL diversi per il contenuto in lingue diverse (ad esempio `/en-US/content/stories/example-story.html`).

Per qualsiasi valore specificato che si intende includere nella chiave cache, è necessario assicurarsi di comprendere quante diverse varianti di tale valore potrebbero apparire nelle richieste del visualizzatore. Per alcuni valori di richiesta, raramente ha senso includerli nella chiave della cache. Ad esempio, l'intestazione `User-Agent` può avere migliaia di varianti univoche, quindi in genere non è un buon candidato per l'inclusione nella chiave della cache. I cookie che hanno valori specifici dell'utente o specifici della sessione e sono univoci per migliaia (o addirittura milioni) di richieste non sono buoni candidati per l'inclusione della chiave della cache. Se si includono questi valori nella chiave cache, ogni variazione univoca genera un'altra copia dell'oggetto nella cache. Se queste copie dell'oggetto non sono univoche o se si finisce con un numero così elevato di oggetti leggermente diversi che ogni oggetto ottiene solo un piccolo numero di hit della cache, è possibile considerare un approccio diverso. È possibile escludere questi valori altamente variabili dalla chiave della cache oppure è possibile contrassegnare gli oggetti come non memorizzabili nella cache.

Prestare attenzione quando si personalizza la chiave della cache. A volte è auspicabile, ma può avere conseguenze indesiderate come la memorizzazione nella cache di oggetti duplicati, l'abbassamento del rapporto di accesso alla cache e l'aumento del numero di richieste di origine. Se il sito Web o l'applicazione di origine deve ricevere determinati valori dalle richieste dei visualizzatori per analisi, telemetria o altri usi, ma questi valori non modificano l'oggetto restituito dall'origine, utilizzare una [policy di richiesta origine](controlling-origin-requests.md) per includere questi valori nelle richieste di origine ma *non* includerli nella chiave della cache.