Compression

La compression dite sans perte (lossless compression) est la technique la plus utilisée pour réduire le volume des objets transférés via le réseau. La compression sans perte signifie que la donnée compressée doit être décompressée et qu'après la décompression, elle est restituée intacte.

Il existe plusieurs algorithmes de compression. Les deux algorithmes les plus utilisés sur internet sont gzip et deflate. En réalité il s'agit du même algorithme avec une légère différence de format. Cette compression est basée sur une combinaison des algorithmes LZ77 et Huffman.

Efficacité de la compression

L'efficacité de la compression dépend du type de données. Les données textuelles (HTML, CSS, JavaScript, XML, texte brut, ...) sont efficacement compressées alors que les images ne sont pas ou mal compressées. Cela signifie que des techniques supplémentaires doivent être utilisées afin de réduire encore plus le volume des pages Web (cf."Optimisation des images").

UBfast applique une compression sans perte à toutes les données compressibles, c'est-à-dire principalement des pages HTML, feuilles de style CSS et JavaScript. Le score de compression est d'environ 4 ou 5. Cela signifie qu'une fois qu'elles ont été compressées, la taille des données est divisée par 4 ou 5. Le temps de téléchargement est donc diminué dans la même proportion.

Compression sans client (client-less)

UBfast ne nécessite aucun client supplémentaire !
La question commune est : Qui décompresse les données ? La réponse est : le navigateur lui-même. Le protocole HTTP prend en charge la négociation de la compression. Le navigateur, ou tout autre user-agent indique s'il accepte ou non les données compressées. Dans ce dernier cas, le serveur peut envoyer des données compressées. C'est ce que fait UBfast. Cela évite de déployer un client de décompression du côté du navigateur.