J'utilise Yslow comme un simple outil d'analyse comparative de la vitesse et je suis tombé sur un concept très confus. Le E-tag
Le problème principal est donc: comment configurer les balises électroniques? ma note à yslow dit:
Il y a 19 composants avec des ETags mal configurés
* http://thehotelinventory.com/media/js/jquery.min.js
* http://thehotelinventory.com/media/js/jquery.colorbox.min.js
* http://thehotelinventory.com/media/js/easyslider.min.js
* http://thehotelinventory.com/media/js/jquery.tools.min.js
* http://thehotelinventory.com/media/js/custom.min.js
* http://thehotelinventory.com/media/js/jquery.validate.min.js
* http://thehotelinventory.com/media/images/colorbox/loading_background.png
* http://thehotelinventory.com/media/images/productheaderbg.jpg
* http://thehotelinventory.com/media/images/buttons/field-bg. //etc
J'ai parcouru les directives de developer.yahoo.com sur l'optimisation des sites Web, mais je ne comprends pas vraiment ce qui se passe avec les tags électroniques
Cette page montre comment désactiver ETags pour IIS et cette page montre comment procéder pour Apache.
En supposant que vous utilisez Apache ...
Vous pouvez configurer un simple ETag comme ceci:
FileETag MTime Size
Si vous avez plusieurs serveurs, vous voulez désactiver les ETags.
FileETag None
Mettez le code ci-dessus dans votre httpd.conf
(si vous y avez accès), sinon vous pouvez le mettre dans .htaccess
.
Pensez aux étiquettes électroniques comme une sorte de hachage. Lorsqu'un navigateur demande une ressource, il envoie le tag E de la version de fichier qu'il a mise en cache. Si le serveur décide que les fichiers sont suffisamment similaires (il existe des versions "forte" et "faible" des balises électroniques, il ne fera pas toujours une simple comparaison), il enverra une réponse "304 non modifié" au client, plutôt que la ressource elle-même. Cela se traduit par une augmentation de la vitesse, car elle évite le gaspillage de bande passante sur des fichiers non modifiés.
Les balises électroniques sont envoyées via des en-têtes HTTP.
Il existe un bon exemple de balises électroniques au travail (et comment les désactiver pour Apache) ici: http://www.askapache.com/htaccess/Apache-speed-etags.html
En supprimant l'en-tête ETag, vous empêchez les caches et les navigateurs de valider les fichiers. Ils sont donc obligés de s'appuyer sur vos en-têtes Cache-Control et Expires.
Ajoutez ces lignes à .htaccess
:
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
Allez directement à la source, YSlow fournit des conseils sur tous ses conseils, y compris comment configurer ETags .
Le meilleur moyen de configurer vos ETags est de les supprimer. Pour les fichiers statiques, les dates d'expiration lointaines sont une bien meilleure approche.
La façon de les supprimer dépend du serveur Web que vous utilisez. Pour IIS 7, cela peut être fait avec un simple HttpModule.
Les balises d'entité sont une fonctionnalité du protocole HTTP, voir http://www.ietf.org/rfc/rfc2616.txt
Les balises d'entité sont utilisées pour comparer deux ou plusieurs entités du même ressource demandée. HTTP/1.1 utilise des balises d'entité dans l'ETag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26) et Zone d'en-tête If-Range (section 14.27). La définition de la façon dont ils sont utilisés et comparés en tant que validateurs de cache dans la section 13.3.3. Un La balise entity consiste en une chaîne entre guillemets opaques, éventuellement précédée du préfixe un indicateur de faiblesse.
wikipedia est le meilleur ami de l'homme :)
http://en.wikipedia.org/wiki/HTTP_ETag
Fondamentalement, un hachage, comme le dit ShZ, devrait être unique ou presque pour un fichier.