Gli ETags vengono utilizzati durante l’interscambio di dati tra client e server per stabilire se una porzione delle informazioni trasmesse via protocollo HTTP al browser, e archiviate in cache, corrisponde ad un contenuto presente nel server interrogato.
In linea teorica gli ETags dovrebbero rendere più efficiente l’impiego della cache al fine di risparmiare risorse ed elevare il livello delle prestazioni in fase di caricamento delle pagine.
Gli ETags sono stati realizzati per adottare degli attributi in grado di renderli riconoscibili praticamente sulla base dell’hosting che ospita la risorsa interrogata e del relativo Web server; questo sta a significare che il meccanismo di validazione della cache fornito dagli ETags non potrà essere replicato in un server diverso.
L’abilitazione degli ETags permette di avere sempre delle ottime prestazioni per quanto riguarda il nostro sito? Bisogna dire che nonostante molti siti web godranno di notevoli vantaggi dagli ETags, vi sono alcune situazioni, come per esempio quelle che prevedono architetture basate su cluster di server, per le quali gli ETags potrebbero produrre un rallentamento a causa dell’inutilità dei confronti effettuati tra dati archiviati in cache e risorse in remoto. E’ comunque opportuno ricordare che gli ETags non sono obbligatori per gli HTTP headers.
Se si lavora in un ambiente basato sul server engine Apache, sarà possibile disattivare gli ETags tramite l’introduzione delle seguenti istruzioni in un file .htaccess da posizionare nella root del Web server: # Configure ETags FileETag none
In Nginx il supporto per gli ETags è disponibile a partire dalla versione 1.3.3 e tali entità sono abilitate di default, per cui la direttiva associata del file di configurazione dovrà essere modificata da on a off: etag off
Vincenzo Abate