Les utilisateurs de sites Web abandonnent tout simplement les pages qui se chargent lentement et vont ailleurs. La compression des ressources d’un site Web est l’un des moyens les plus sûrs d’accélérer le chargement des pages.
Cet article explique ce qu’est l’algorithme de compression Brotli, comment il peut bénéficier à votre site web et nous le comparons également à Gzip.
Compression de site web
Tout le contenu de votre site web doit être transféré au navigateur du visiteur avant de pouvoir être affiché. Si les fichiers sont compressés avant d’être envoyés, cela peut rendre le transfert plus petit mais utilise les ressources de votre serveur. Par exemple, plus vous compressez les données, plus le transfert est rapide, mais cela peut ralentir votre serveur s’il doit constamment traiter la compression. Il faut donc trouver un équilibre délicat entre la compression qui utilise les ressources du serveur et la vitesse de transfert qui utilise la bande passante. Beaucoup d’entre vous connaissent gzip, qui gérait la plupart des compressions de serveur jusqu’à récemment. Bien que gzip fasse un bon travail de compression des données, il est toujours possible de l’améliorer. Cela nous amène à l’algorithme de compression Brotli.
Qu’est-ce que la compression Brotli ?
En 2015, Google a introduit un nouvel algorithme de compression open-source appelé Brotli. Ce nouvel algorithme promet une meilleure compression tout en utilisant moins de ressources. La compression des réponses envoyées par NGINX à votre navigateur est un excellent moyen d’optimiser votre site Web. Cela peut notamment aider à réduire votre temps de réponse au premier octet. Bien qu’il ne soit pas compatible avec tous les navigateurs pour le moment, il fonctionne déjà avec les principaux tels que Chrome, FireFox et Edge. Brotli est également pris en charge par des réseaux de diffusion de contenu (CDN) populaires comme Cloudflare et Sucuri.
Comment votre navigateur traite-t-il les données ?
Lorsque vous visitez un site Web, votre navigateur envoie au serveur une liste des options d’encodage qu’il accepte. Cette liste est incluse dans l’en-tête Accepts-Encoding. Ensuite, le serveur :
- Prend la liste des options d’encodage
- Détermine celles dont il dispose
- Compresse les données en utilisant Brotli ou gzip
- Renvoie les données au navigateur avec l’en-tête Content-Encoding pour que le navigateur sache comment les décoder
En quoi Brotli est-il différent de Gzip ?
Voyons maintenant les principales différences entre les algorithmes de compression Brotli et Gzip.
Brotli
Un algorithme de compression développé par Google. Il permet d’obtenir un meilleur taux de compression grâce à l’utilisation d’un dictionnaire de mots-clés et d’expressions courants, tant du côté client que du côté serveur. Il est optimisé principalement pour les petits documents textuels.
Par conséquent, il convient mieux pour servir du contenu statique tel que des pages HTML et des polices de caractères. Il possède également 11 paramètres de qualité prédéfinis, étiquetés de 1 à 11.
Gzip
Gzip est l’algorithme de compression le plus utilisé sur Internet. Contrairement à Brotli, Gzip est le plus souvent utilisé pour compresser des pages Web, des archives Tar et des fichiers texte.
Il permet de réduire la taille d’un fichier en conservant le mode de fichier original, l’horodatage et la propriété.
Gzip possède 9 paramètres de qualité prédéfinis et est étiqueté de 1 à 9. Des applications populaires comme WordPress prennent en charge Gzip d’emblée. Et les utilisateurs peuvent facilement compresser leurs sites Web en quelques clics.
Brotli est-il beaucoup plus rapide que gzip ?
Le nouvel algorithme fourni par Brotli compresse le site web dans une taille de données plus petite, ce qui rend le transfert plus rapide. Les fichiers JavaScript compressés avec Brotli sont environ 15% plus petits que ceux compressés avec gzip. Les fichiers HTML sont environ 20% plus petits et les fichiers CSS obtiennent environ 16% de réduction de taille. Ces chiffres varient bien sûr en fonction de vos fichiers particuliers.
Un test avec l’un des thèmes par défaut de WordPress – TwentyTwenty – montre qu’il produit 19584 octets de données non compressées, 6003 octets compressés avec gzip et seulement 4863 octets lorsqu’il est compressé avec Brotli. Cela signifie que vous obtenez une réduction de taille de plus de 75% pour le contenu non compressé et de 19,5 % pour le gzip.
Quels sont les avantages et les inconvénients de Brotli et de Gzip ?
Il est temps maintenant de discuter des avantages et des inconvénients.
Taille de la compression
Le meilleur avantage de Brotli sur Gzip est que les fichiers HTML, CSS et JavaScript compressés avec lui sont plus petits que ceux de Gzip.
Mais il est moins adapté à la compression de flux de données, car les performances de compression sont légèrement plus lentes par rapport à Gzip.
Prise en charge des navigateurs
Malheureusement, l’un des principaux inconvénients de Brotli concerne la prise en charge par les navigateurs. Il n’est pas pris en charge par tous les navigateurs. Les principaux navigateurs qui prennent en charge Brotli sont Google Chrome 49+, Mozilla Firefox 44+, Opera 36+, etc.
D’autre part, Gzip est présent dans l’industrie depuis les années 1990. Il est le mieux adapté à tous les navigateurs et il raccourcit la durée du taux de transfert. Mais il ne peut compresser que des fichiers réguliers.
Paramètres du serveur web
Pour que Brotli fonctionne, il faut modifier la configuration du serveur. Contrairement à gzip qui est fourni en standard dans tous les principaux serveurs web, nous devons activer Brotli sur le serveur.
Heureusement, Google propose une extension Brotli pour le serveur web NginX. De même, Apache dispose également de sa propre extension Brotli. Cependant, l’extension Brotli nécessite de modifier les paramètres pour obtenir les meilleures performances. Pour les utilisateurs de serveurs Windows, Brotli n’est peut-être pas le meilleur choix car le serveur web IIS ne le prend pas officiellement en charge.
Cela dit, les serveurs Web qui prennent en charge Brotli doivent également conserver la compression gzip. Cela aide le serveur Web à traiter les demandes provenant de sites Web non pris en charge par Brotli.