Il existe actuellement 3 techniques pour réduire le nombre de requêtes:
- Les sprites : consistent à grouper plusieurs petites images ou icônes en une seule;
- SPDY : ce protocole développé par Google permet de télécharger plusieurs éléments en parallèle, et en une seule connexion, mais il n'est actuellement supporté que par Chrome;
- Les data URIs.
<img src="mon_image.png">
On pourrait utiliser la data URI suivante:
<img src="data:image/png;base64,R0lGODlhEAAOALM...">
Cette technique possède cependant des inconvénients:
- Elle n'est pas supportée par Internet Explorer 7 et plus anciens (soit environ 8% des navigateurs actuellement utilisés);
- L'encodage Base64 est environ 40% plus gros que le fichier d'origine.
La technique des data URIs peut également être utilisée dans les fichiers CSS. Vu leurs inconvénients, un bon compromis consiste justement à utiliser les data URIs pour encoder tous les petits fichiers, comme les icônes par exemple, utilisés dans une CSS.
J'ai créé un script (datauri.php) qui permet de faire la conversion automatiquement:
Code : Tout sélectionner
datauri.php -i style.css -o style.out.css -r /var/www/mon_siteVous pouvez télécharger le script sur mon blog: Réduire le nombre de requêtes grâce aux data URIs
Les questions et commentaires sont naturellement les bienvenus!