Panoramica dell'annullamento convalida della cache

Questa pagina fornisce una panoramica dell'annullamento della convalida della cache di Cloud CDN.

Che cos'è l'annullamento della convalida della cache?

Una volta memorizzato nella cache, un oggetto normalmente rimane al suo interno fino alla scadenza o viene espulso per fare spazio a nuovi contenuti. Puoi controllare la data e l'ora di scadenza tramite le intestazioni HTTP standard.

Potrebbe essere consigliabile rimuovere un oggetto dalla cache prima della sua normale scadenza. Puoi forzare la cache a ignorare un oggetto o un insieme di oggetti richiedendo l'annullamento della convalida della cache.

È importante assicurarsi che il server di origine restituisca i contenuti corretti prima di richiedere l'invalidazione della cache. In caso contrario, quando Cloud CDN richiede di nuovo i contenuti, potrebbe memorizzare nella cache i contenuti errati.

Pattern di percorso

Ogni richiesta di annullamento della convalida specifica un pattern di percorso che identifica l'oggetto o l'insieme di oggetti da annullare. Il pattern del percorso può essere un percorso specifico, ad esempio /cat.jpg, o un'intera struttura di directory, ad esempio /pictures/*. Ai pattern di percorso si applicano le seguenti regole:

  • Il pattern del percorso deve iniziare con /.
  • Non può includere ? o #.
  • Non deve includere un *, tranne come carattere finale dopo un /.
  • Se termina con /*, la stringa precedente è un prefisso e tutti gli oggetti i cui percorsi iniziano con quel prefisso vengono invalidati.

Il pattern del percorso viene confrontato con il componente del percorso dell'URL, ovvero tutto ciò che si trova tra il nome host e eventuali ? o #.

Se hai URL che contengono una stringa di query, ad esempio/images.php?image=fred.png, non puoi invalidare in modo selettivo gli oggetti che differiscono solo per la stringa di query. Ad esempio, se hai due immagini,/images.php?image=fred.png e /images.php?image=barney.png, non puoi invalidare solo fred.png. Per invalidare tutte le immagini pubblicate da images.php, utilizza /images.php come pattern percorso.

Annullamento della convalida della cache per un singolo host

In genere, l'invalidazione della cache invalida il percorso per tutti i nomi host. Ad esempio, se hai impostato example.com e example2.com in modo che puntino allo stesso bilanciatore del carico e invalidi /images/cat.jpg, sia example.com/images/cat.jpg che example2.com/images/cat.jpg vengono invalidati.

Puoi limitare l'invalidazione a uno solo degli host aggiungendo il flag --host al comando.

Limitazioni

L'invalidazione è pensata per essere utilizzata in circostanze eccezionali, non nell'ambito del normale flusso di lavoro. Le invalidazioni non influiscono sulle copie memorizzate nella cache nelle cache dei browser web o nelle cache gestite da provider di servizi internet di terze parti.

In alternativa alle invalidazioni di routine, puoi impostare in modo proattivo scadenze appropriate per le risposte o utilizzare URL diversi per versioni diverse dei tuoi contenuti. Per ulteriori informazioni sulle date di scadenza, consulta Date di scadenza e richieste di convalida.

Le invalidazioni sono limitate in base alla frequenza. Puoi inviare al massimo un'invalidazione al minuto. Tuttavia, un'invalidazione può essere di qualsiasi dimensione. L'annullamento della validità di /images/fred.png viene conteggiato come un annullamento. Anche l'annullamento della convalida di /images/* viene conteggiato come un annullamento della convalida.

Annullare l'aggiornamento solo di ciò che è necessario, perché annullare l'aggiornamento di troppi elementi potrebbe causare un picco improvviso delle richieste che le cache stavano inviando alle tue istanze o ai tuoi bucket.

Poiché Cloud CDN è un sistema distribuito, potrebbe segnalare che un annullamento della convalida è stato completato anche se un numero ridotto di cache non ha ancora elaborato la richiesta di annullamento della convalida. Questa situazione è rara e si corregge automaticamente.

Richiesta di invalidazione della cache con il riferimento ai servizi tra progetti con VPC condiviso

Quando utilizzi un Application Load Balancer esterno globale con riferimenti ai servizi tra progetti VPC condivisi, per impostazione predefinita, gli amministratori dei progetti di servizio non avranno le autorizzazioni necessarie per richiedere l'invalidazione della cache. Questo perché l'annullamento della convalida della cache è configurato nel progetto frontend (ovvero il progetto che contiene la regola di forwarding, il proxy di destinazione e la mappa URL del bilanciatore del carico). Pertanto, l'invalidazione della cache può essere emessa solo da entità che dispongono dei ruoli IAM per la configurazione delle risorse relative al bilanciamento del carico nei progetti frontend (ad esempio, il ruolo Amministratore della rete Compute).

Gli amministratori di servizi, che controllano il provisioning dei servizi di backend in un progetto distinto, dovranno collaborare con l'amministratore del bilanciatore del carico del progetto frontend per emettere l'invalidazione della cache per i propri servizi tra progetti.

Passaggi successivi