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à.
Contenuto della cache basato sui cookie
Per impostazione predefinita, CloudFront non considera i cookie durante l'elaborazione di richieste e risposte o durante la memorizzazione nella cache degli oggetti in posizioni periferiche. Se CloudFront riceve due richieste identiche ad eccezione di ciò che si trova nell'Cookie
intestazione, per impostazione predefinita CloudFront considera le richieste identiche e restituisce lo stesso oggetto per entrambe le richieste.
Puoi configurare l'inoltro CloudFront all'origine di alcuni o tutti i cookie nelle richieste dei visualizzatori e di memorizzare nella cache versioni separate degli oggetti in base ai valori dei cookie inoltrati. In tal caso, CloudFront utilizza alcuni o tutti i cookie nelle richieste dei visualizzatori, a prescindere da quelle configurate per l'inoltro, per identificare in modo univoco un oggetto nella cache.
Ad esempio, supponiamo che le richieste per locations.html
contengano un cookie country
con un valore di uk
o fr
. Quando configurate CloudFront per memorizzare nella cache gli oggetti in base al valore del country
cookie, CloudFront inoltra le richieste all'origine e include il cookie e locations.html
il suo valore. country
La tua origine restituisce locations.html
e CloudFront memorizza l'oggetto nella cache una volta per le richieste in cui si trova il valore del country
cookie uk
e una volta per le richieste in cui è presente il valore. fr
Importante
Amazon S3 e alcuni HTTP server non elaborano i cookie. Non configurate CloudFront per inoltrare i cookie a un'origine che non elabora i cookie o che non modifica la risposta in base ai cookie. Ciò può causare CloudFront l'inoltro di più richieste all'origine per lo stesso oggetto, con conseguente rallentamento delle prestazioni e aumento del carico sull'origine. Se, considerando l'esempio precedente, la tua origine non elabora il country
cookie o restituisce sempre la stessa versione di locations.html
to CloudFront indipendentemente dal valore del country
cookie, non configurate l'inoltro CloudFront di quel cookie.
Al contrario, se la tua origine personalizzata dipende da un particolare cookie o invia risposte diverse in base a un cookie, assicurati di configurare CloudFront l'inoltro di quel cookie all'origine. Altrimenti, CloudFront rimuove il cookie prima di inoltrare la richiesta all'origine.
Per configurare l'inoltro dei cookie, aggiorna il comportamento della cache della distribuzione. Per ulteriori informazioni sui comportamenti della cache, consulta Cache Behavior Settings (Impostazioni del comportamento della cache), in particolare le sezioni Forward Cookies (Inoltra cookie) e Cookie elenco consentiti.
È possibile configurare ogni comportamento della cache per eseguire una delle operazioni seguenti:
-
Inoltra tutti i cookie all'origine: CloudFront include tutti i cookie inviati dal visualizzatore quando inoltra le richieste all'origine. Quando la tua origine restituisce una risposta, CloudFront memorizza la risposta nella cache utilizzando i nomi e i valori dei cookie nella richiesta del visualizzatore. Se la risposta di origine include
Set-Cookie
intestazioni, le CloudFront restituisce al visualizzatore con l'oggetto richiesto. CloudFront memorizza inoltre nella cache leSet-Cookie
intestazioni con l'oggetto restituito dall'origine e invia taliSet-Cookie
intestazioni ai visualizzatori su tutti gli accessi alla cache. -
Inoltra un set di cookie specificato: CloudFront rimuove tutti i cookie inviati dal visualizzatore che non sono nell'elenco consentito prima di inoltrare una richiesta all'origine. CloudFront memorizza nella cache la risposta utilizzando i nomi e i valori dei cookie elencati nella richiesta del visualizzatore. Se la risposta di origine include
Set-Cookie
intestazioni, le CloudFront restituisce al visualizzatore con l'oggetto richiesto. CloudFront memorizza inoltre nella cache leSet-Cookie
intestazioni con l'oggetto restituito dall'origine e invia taliSet-Cookie
intestazioni ai visualizzatori su tutti gli accessi alla cache.Per informazioni su come specificare i caratteri jolly nei nomi dei cookie, consulta Cookie elenco consentiti.
Per conoscere la quota corrente relativa al numero di nomi di cookie che puoi inoltrare per ogni comportamento cache o per richiedere una quota superiore, consulta Quote sulle stringhe di query (impostazioni della cache legacy).
-
Non inoltrate i cookie all'origine: CloudFront non memorizza nella cache gli oggetti in base al cookie inviato dal visualizzatore. Inoltre, CloudFront rimuove i cookie prima di inoltrare le richieste all'origine e rimuove le
Set-Cookie
intestazioni dalle risposte prima di restituire le risposte agli utenti. Poiché questo non è il modo ottimale per utilizzare le risorse di origine, quando selezioni questo comportamento di cache, dovresti assicurarti che l'origine non includa i cookie nelle risposte di origine per impostazione predefinita.
Note importanti su come specificare i cookie che desideri inoltrare:
- Log di accesso
-
Se configuri CloudFront per registrare le richieste e i cookie, CloudFront registra tutti i cookie e tutti gli attributi dei cookie, anche se configuri di CloudFront non inoltrare i cookie all'origine o se configuri di CloudFront inoltrare solo cookie specifici. Per ulteriori informazioni sulla CloudFront registrazione, vedere. Configurazione e utilizzo di log standard (log di accesso)
- Distinzione tra lettere maiuscole e minuscole
-
I nomi e i valori dei cookie fanno entrambi distinzione tra maiuscole e minuscole. Ad esempio, se CloudFront è configurato per inoltrare tutti i cookie e due richieste di visualizzazione per lo stesso oggetto contengono cookie identici tranne che per i casi specifici, CloudFront memorizza l'oggetto due volte nella cache.
- CloudFront ordina i cookie
-
Se CloudFront è configurato per inoltrare i cookie (tutti o un sottoinsieme), CloudFront ordina i cookie in ordine naturale in base al nome del cookie prima di inoltrare la richiesta all'origine.
Nota
I nomi dei cookie che iniziano con il
$
carattere non sono supportati. CloudFront rimuoverà il cookie prima di inoltrare la richiesta all'origine. È possibile rimuovere il$
carattere o specificare un carattere diverso all'inizio del nome del cookie. If-Modified-Since
eIf-None-Match
-
If-Modified-Since
e le richiesteIf-None-Match
condizionali non sono supportate quando CloudFront è configurato per inoltrare i cookie (tutti o un sottoinsieme). - Il formato standard della coppia nome-valore obbligatorio
-
CloudFront inoltra un'intestazione di cookie solo se il valore è conforme al formato standard della coppia nome-valore
, ad esempio: "Cookie: cookie1=value1; cookie2=value2"
- Disabilitazione della memorizzazione nella cache delle intestazioni
Set-Cookie
-
Se CloudFront è configurato per inoltrare i cookie all'origine (che si tratti di tutti i cookie o di cookie specifici), memorizza anche nella cache le intestazioni ricevute nella risposta all'
Set-Cookie
origine. CloudFront include questeSet-Cookie
intestazioni nella risposta al visualizzatore originale e le include anche nelle risposte successive che vengono fornite dalla cache. CloudFrontSe desideri ricevere i cookie all'origine ma non vuoi CloudFront memorizzare nella cache le
Set-Cookie
intestazioni nelle risposte dell'origine, configura la tua origine per aggiungere un'Cache-Control
intestazione con unano-cache
direttiva che specifichiSet-Cookie
come nome di campo. Ad esempio:Cache-Control: no-cache="Set-Cookie"
. Per ulteriori informazioni, consulta Response Cache-Control Directivesnell'Hypertext Transfer Protocol (/1.1): Caching standard. HTTP - Lunghezza massima dei nomi dei cookie
-
Se CloudFront configuri l'inoltro di cookie specifici all'origine, il numero totale di byte in tutti i nomi di cookie che configuri CloudFront per l'inoltro non può superare i 512 meno il numero di cookie che stai inoltrando. Ad esempio, se configuri di CloudFront inoltrare 10 cookie all'origine, la lunghezza combinata dei nomi dei 10 cookie non può superare i 502 byte (512-10).
Se configuri CloudFront per inoltrare tutti i cookie all'origine, la lunghezza dei nomi dei cookie non ha importanza.
Per informazioni sull'utilizzo della CloudFront console per aggiornare una distribuzione in modo da CloudFront inoltrare i cookie all'origine, consultaAggiornamento di una distribuzione. Per informazioni sull'utilizzo di CloudFront API per aggiornare una distribuzione, UpdateDistributionconsulta Amazon CloudFront API Reference.