Contenuto della cache basato sui cookie - Amazon CloudFront

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'Cookieintestazione, 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 server HTTP non elaborano i cookie. Non configurate CloudFront per inoltrare i cookie a un'origine che non elabora i cookie o che non varia 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 le Set-Cookie intestazioni con l'oggetto restituito dall'origine e invia tali Set-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 le Set-Cookie intestazioni con l'oggetto restituito dall'origine e invia tali Set-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.

If-Modified-Since e If-None-Match

If-Modified-Sincee le richieste If-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-Cookieorigine. CloudFront include queste Set-Cookie intestazioni nella risposta al visualizzatore originale e le include anche nelle risposte successive che vengono fornite dalla cache. CloudFront

Se 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-Controlintestazione con una no-cache direttiva che specifichi Set-Cookie come nome di campo. Ad esempio: Cache-Control: no-cache="Set-Cookie". Per ulteriori informazioni, consulta l'argomento relativo alle direttive di controllo delle risposte della cache nello standard Hypertext Transfer Protocol (HTTP/1.1): Caching.

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 dell' CloudFront API per aggiornare una distribuzione, UpdateDistributionconsulta Amazon CloudFront API Reference.