J'ai une application Web sur un serveur NGinx. J'ai mis gzip on
dans le fichier de configuration et maintenant j'essaie de voir si cela fonctionne. YSlow dit que ce n’est pas le cas, mais 5 sites Web sur lesquels le test a été testé le confirment. Comment puis-je obtenir une réponse définitive à ce sujet et pourquoi y a-t-il une différence dans les résultats?
Il semble qu'une réponse possible soit, sans surprise, curl
:
$ curl http://example.com/ --silent --write-out "%{size_download}\n" --output /dev/null
31032
$ curl http://example.com/ --silent -H "Accept-Encoding: gzip,deflate" --write-out "%{size_download}\n" --output /dev/null
2553
Dans le second cas, le client indique au serveur qu'il prend en charge le codage du contenu et vous pouvez voir que la réponse était effectivement plus courte et compressée.
Mettre à jour
Chrome a changé la façon dont il rapporte (voir la réponse originale si cela vous intéresse). Vous pouvez utiliser les outils de développement (F12). Accédez à l'onglet Réseau, sélectionnez le fichier que vous souhaitez examiner, puis examinez l'onglet En-têtes à droite. Si vous êtes gzippé, vous verrez cela dans l'encodage du contenu.
Dans cet exemple, slider.jpg est en effet gzippé.
Comparez cela à cette page sur laquelle vous vous trouvez et regardez un fichier png, vous ne verrez pas une telle désignation.
Soyons clairs, ce n'est pas parce que l'un est un jpg et l'autre un png. C'est parce que l'un est compressé et l'autre pas.
Réponse précédente
Dans Chrome, si vous affichez les outils de développement et accédez à l'onglet Réseau, les informations suivantes s'afficheront s'il n'y a pas de compression:
Et les éléments suivants s’il existe une compression IS:
En d'autres termes, le même nombre, haut et bas, signifie aucune compression.
Voir dans les en-têtes de réponse. Dans FireFox, vous pouvez vérifier auprès de Firebug.
Content-Encoding gzip
Si le serveur prend en charge le contenu gzip, celui-ci doit être affiché.
Vous pouvez rapidement utiliser un service Web du type: http://www.whatsmyip.org/http-compression-test/
L'outil "Audits" de Google Chrome dans les outils de développement est également pratique.
Dans la nouvelle version de chrome, Outils de développement> réseau, vous pouvez cliquer avec le bouton droit de la souris sur le nom de la colonne, sélectionner l'option d'encodage du contenu et ajouter cette colonne (zone noire dans l'image).
et si vous voulez voir la taille de ce contenu gzip, sous @Outfast Source - vous pouvez cliquer sur l'icône qui se trouve en regard de Voir (affichée sous forme de boîte verte dans l'image).
afin que vous puissiez voir quel contenu est gzip activé.
J'ai écrit ce script basé sur la réponse du zoul:
#!/bin/bash
URL=$1
PLAIN="$(curl $URL --silent --write-out "%{size_download}\n" --output /dev/null)"
GZIPPED="$(curl $URL --silent -H "Accept-Encoding: gzip,deflate" --write-out "%{size_download}\n" --output /dev/null)"
if test $PLAIN -gt $GZIPPED
then echo "supported"
else echo "unsupported"
fi
exemple:
$ ./script.sh https://example.com/
Un autre outil utile: http://gzipwtf.com
C’est le seul outil que j’ai vu qui analyse votre page et trouve toutes les ressources directement référencées (fichiers css, js, etc.) et vous indique si chacune d’elles est gzippée, au lieu de vous indiquer simplement si la page d’index est gzippée.
Fournit également d'autres statistiques utiles (temps de téléchargement des ressources, vitesse, etc.)