Apache vient de publier la version 2.4 du serveur web le plus utilisé au monde. Au programme, de nombreuses nouveautés, principalement orientées autour de l’optimisation/rapidité du serveur.
Pour commencer, les MPM (Module Multi Processus) sont dorénavant chargés à l’exécution. Cette nouvelle fonctionnalité va permettre de prendre plusieurs modules, de les compiler, et de ne les charger qu’au moment de l’exécution.
Ensuite, le MPM Event, au stade expérimental jusqu’à aujourd’hui, fait maintenant partie intégrante de la branche stable. MPM Event permet de déléguer le traitement de votre demande http à un thread séparé permettant de libérer les threads principaux (qui interceptent les appels http).
Pour continuer sur l’optimisation, Apache supporte dorénavant le mode asynchrone qui a fait la popularité de Node.js. Les lectures/écritures sont dorénavant supportées en asynchrone pour les MPM et plateformes qui le supportent.
Il est maintenant possible de définir la journalisation par répertoire. Jusqu’à maintenant, il était possible de journaliser par serveur ou par hôte virtuel, il est maintenant possible d’utiliser les directives de log directement au niveau du répertoire.
La directive KeepAliveTimeout peut dorénavant supporter une définition en millisecondes (avant le timeout minimum était d’une seconde)
La nouvelle directive AllowOverrideList, pour les fichiers .htaccess, permet de définir plus précisément la liste des .htaccess à supporter. Ceci permet, entre autres, que le serveur ne cherche pas dans toute l’arborescence si il y a, ou non, un .htaccess à charger.
Une nouvelle directive fait son apparition : Define. Celle-ci va permettre une meilleure clarté dans nos configurations, permettant de définir des variables.
Pour terminer, nous noterons que l’équipe Apache a investi beaucoup de temps pour que, malgré ces nouvelles fonctionnalités, le serveur Web Apache soit encore moins consommateur de ressources.
Au niveau des nouveaux modules intégrés dorénavant nativement, nous noterons principalement :
- mod_sed pour éditer on-the-fly le corps de la réponse à coups de commandes sed
- mod_auth_form pour gérer votre identification via un formulaire web (plutôt qu’une popup)
- mod_session pour stocker vos sessions en cookie ou en bases de données (très pratique pour le load balancing sur du PHP par exemple !)
- mod_allowmethods pour pouvoir définir les méthodes autorisées
- mod_ratelimit permet de définir une bande passante
et bien d’autres joyeusetés : http://httpd.apache.org/docs/2.4/en/new_features_2_4.html
Il ne reste plus qu’à mettre à jour !