Lighttpd & mod_expire
Ayant récemment mis en place un serveur “statique” avec lighttpd (prononcé lighty) chargé de délivrer uniquement les images de divers sites web et newsletters, j’ai eu envie comme à mon habitude avec apache ou nginx d’optimiser les performances.
Comment ? Grâce à mod_expire entre autre (qui au passage existe et porte le même nom sur apache).
Pour être bref, mod_expire permet d’informer le navigateur du client que le contenu délivré est valable pendant une durée définie. Tant que la durée n’est pas expirée, le navigateur ne re-télécharge pas le contenu et utilise celui qu’il a dans son cache. Cela épargne donc une requête HTTP par contenu non re-téléchargé.
Côté client l’affichage est plus rapide car le contenu sera lu instantanément via le cache de son navigateur.
Pour l’activer sur lighty, ajoutez le à la liste des modules chargés dans votre fichier lighttpd.conf :
Dans ce même fichier, ou dans un fichier externe (n’oublier pas de l’inclure) il vous faudra ajouter vos règles d’expirations (durée de la mise en cache) :
Si vous ne faite pas de répartition de charge entre différents serveurs délivrant le même contenu statique, ajoutez des ETAG dans l’entête HTTP :
Pour plus d’informations à ce sujet n’hésitez-pas à consulter l’article Désactiver les ETags ? de l’excellent blog d’Éric Daspet dédié à la performance web