ETAGS
Les Etags sont des identifiants propres à chaque fichier servant à les identifier. Les navigateurs les utilisent pour vérifier les versions des fichiers mis en cache. Pour simplifier, en supprimant les Etags on va éviter un aller retour entre le serveur et le navigateur.
Le navigateur envoie la demande, et si le etag du fichier en cache correspond, le serveur renvoi un code 304. Dans le cas de load balancing, un fichier se trouve sur plusieurs serveurs de manière à répartir la charge. La réplication devrait logiquement être configurée de façon à ce que les fichiers copiés possèdent la même date que la source.
Pourtant, chaque fichier ayant un etag qui lui est propre, le navigateur rechargera celui-ci si lors d'une nouvelle session, vous n'êtes pas sur le même serveur que la première fois. Le ETAG est donc perturbant dans ce cas.
Comme nous gérons la mise en cache, nous en avons encore moins besoin. On pourrait donc les supprimer complétement, mais il ne coute rien de les simplifier, juste au cas ou, en modifiant le .htaccess :
FileETag MTime Size
Yahoo, dans son guide sur la performance, conseille de supprimer complètement les Etags. C'est faisable avec ce petit bout de code, à placer encore une fois dans le .htaccess :
Header unset ETag FileETag None
Dans l'absolu, on ne gagne que quelques octets et un rapide aller/retour serveur par fichier, cette règle n'est donc pas une priorité 🙂