View a markdown version of this page

Caching dei contenuti basati su 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à.

Caching dei contenuti basati su cookie

Per impostazione predefinita, CloudFront non considera i cookie durante l'elaborazione di richieste e risposte o quando memorizza nella cache gli oggetti nelle edge location. Se CloudFront riceve due richieste identiche ad eccezione di ciò che è nell'Cookieintestazione, per impostazione predefinita, CloudFront considera le richieste come identiche e restituisce lo stesso oggetto per entrambe le richieste.

È possibile configurare l'inoltro CloudFront all'origine di alcuni o tutti i cookie contenuti nelle richieste dei visualizzatori e di memorizzare nella cache versioni separate degli oggetti in base ai valori dei cookie inoltrati. In questo caso, CloudFront utilizza alcuni o tutti i cookie nelle richieste dei visualizzatori, a seconda di quali sia configurato 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 configuri la cache degli oggetti in base CloudFront al valore del country cookie, CloudFront inoltra le richieste all'origine e include il cookie e locations.html il relativo valore. country L'origine viene locations.html restituita e CloudFront memorizza l'oggetto nella cache una volta per le richieste che contengono il valore del country cookie uk e una volta per le richieste in cui tale valore è. fr

Importante

Amazon S3 e alcuni server HTTP non elaborano i cookie. Non configurate in modo CloudFront da inoltrare i cookie a un'origine che non elabora i cookie o non varia la sua 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 configurare l'inoltro CloudFront di quel cookie.

Al contrario, se l'origine personalizzata dipende da un particolare cookie o invia risposte diverse in base a un cookie, assicurati di configurare la configurazione in modo CloudFront da inoltrare 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 l'origine restituisce una risposta, la CloudFront memorizza 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 inoltre memorizza nella cache le Set-Cookie intestazioni con l'oggetto restituito dall'origine e le invia ai Set-Cookie visualizzatori su tutti gli accessi alla cache.

  • Inoltra un set di cookie da te specificato: CloudFront rimuove tutti i cookie inviati dal visualizzatore che non sono nella lista consentita prima di inoltrare una richiesta all'origine. CloudFront memorizza la risposta nella cache utilizzando i nomi e i valori dei cookie elencati nella richiesta del visualizzatore. Se la risposta di origine include Set-Cookie delle intestazioni, le CloudFront restituisce al visualizzatore con l'oggetto richiesto. CloudFront inoltre memorizza nella cache le Set-Cookie intestazioni con l'oggetto restituito dall'origine e le invia ai Set-Cookie 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 i vostri oggetti in base ai cookie inviati 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 spettatori. Poiché questo non è un modo ottimale per utilizzare le risorse di origine, quando si seleziona questo comportamento della cache, è necessario assicurarsi 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 CloudFront configuri la registrazione delle richieste e dei cookie, CloudFront registra tutti i cookie e tutti gli attributi dei cookie, anche se configuri in modo da CloudFront non inoltrare i cookie all'origine o se configuri l'inoltro solo di cookie CloudFront specifici. Per ulteriori informazioni sulla CloudFront registrazione, vedereRegistri di accesso (registri standard).

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 le maiuscole e le minuscole, l'oggetto viene memorizzato due CloudFront volte nella cache.

CloudFront ordina i cookie

Se CloudFront è configurato per l'inoltro dei cookie (tutti o una parte), 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. Puoi rimuovere il carattere $ o specificare un carattere diverso all’inizio del nome del cookie.

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 l'intestazione di un 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 (siano essi tutti o cookie specifici), memorizza nella cache anche le intestazioni ricevute nella Set-Cookie risposta di origine. CloudFront include queste Set-Cookie intestazioni nella sua risposta al visualizzatore originale e le include anche nelle risposte successive fornite dalla cache. CloudFront

Se desideri ricevere cookie all'origine ma non vuoi CloudFront memorizzare nella cache le Set-Cookie intestazioni delle risposte di origine, configura l'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 Response Cache-Control Directives in the Hypertext Transfer Protocol (): Caching standard. HTTP/1.1

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 CloudFront configuri l'inoltro di 10 cookie all'origine, la lunghezza combinata dei nomi dei 10 cookie non può superare i 502 byte (512-10).

Se configuri CloudFront l'inoltro di 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, consulta UpdateDistribution Amazon CloudFront API Reference.