Liens connexes

Dépêche modérée par

Dépêche éditée par

: Sortie de Apache 2.2.0

Posté par Sébastien Koechlin (). Modéré le 02 décembre 2005.
0
« La fondation Apache Software et le projet Apache HTTP Server sont heureux d'annoncer la sortie de la version 2.2.0 de leur serveur HTTP.

Ils considèrent cette version comme la meilleure disponible et encouragent les utilisateurs de toutes les versions précédentes à effectuer la version à jour. »

> Lire la suite (34 commentaires, moyenne: 4).   [dépêche : 6706 caractères]

Les nouvelles fonctionnalités depuis la version 2.0 :

Modules principaux:

Authn/Authz
Les mécanismes d'authentification et d'autorisation ont été revus, un module d'alias permet de simplifier grandement certaines configurations.

Caching
Les modules de cache mémoire et disque ont été beaucoup modifiés et sont maintenant d'une qualité considérée comme apte à la production.

Configuration
La structure du fichier de configuration a été simplifiée et modularisée. De nombreuses configurations courantes sont proposées avec l'application et peuvent être facilement activées.

Graceful stop
Les différents mécanismes de répartition des requêtes au sein de l'application (prefork, worker, event MPMs) ont été modifiés afin de permettre un arrêt plus en douceur de l'application. Il est possible de spécifier un délai de grâce pour traiter les requêtes en cours avant l'arrêt.

Proxying
Le nouveau module de proxy permet de faire de la répartition de charge sur plusieurs serveurs (load balancing), le module mod_proxy_ajp permet de s'interfacer avec Tomcat en utilisant le protocole JServ 1.3

Regular Expression Library Updated
La version 5.0 de la librairie d'expressions rationnelles compatible Perl est maintenant inclue (PCRE)

Filter
Un module permet l'ajout dynamique de filtres dans le flux de sortie selon les paramètres de la requête ou de la réponse, ou les variables d'environnement. Ce mécanisme règle les problèmes de dépendances et d'ordonnancement qui existaient dans la version 2.0. (Ceci permet par exemple la compression à la volée des pages HTML dynamiques).

Large File Support
httpd est maintenant compilé avec le support des fichiers de plus de 2 Go sur les unix 32 bits modernes. Les requêtes de plus de 2 Go sont également traitées.

Event MPM
Ce mécanisme expérimental de traitement des requêtes conserve maintenant un thread séparé pour gérer les connexions persistantes (Keep Alive) et les nouvelles connexions. Dans les versions précédentes, il était nécessaire de dédier plus de ressources pour traiter les requêtes persistantes.

SQL Database Support
Un module dédié permet de fournir des connexions et des pools de connexions aux modules qui ont besoin d'accéder à une base de données, leur évitant d'implémenter chacun leur propre mécanisme. (Note: Ceci n'est pas disponible de base aux utilisateurs de Microsoft Windows)

Amélioration de modules existants

Authn/Authz
Les modules d'authentification ont été renommés et étendus. Certains ont été séparés en plusieurs modules afin de permettre une plus grande modularité. Un module gérant des alias a également été ajouté.

mod_authnz_ldap
Le module d'authentification LDAP a été porté et amélioré de la version 2.0 et adapté à la nouvelle organisation de la version 2.2

mod_info
Ajout d'un nouveau paramètre "?config" qui retourne la configuration telle qu'elle est lue par Apache (y compris les noms des fichiers et les numéros de ligne). Le module montre également l'ordre de tous les traitements et les informations de compilation.

mod_ssl
Ajout du support de la RFC 2817 qui permet de transformer une connexion en clair vers une connexion chiffré en TLS.

mod_imagemap
Le module mod_imap a été renommé mod_imagemap pour des raison de clarté. Il gère les zones d'images et non pas le protocole de courrier IMAP.

Amélioration du programme

httpd
L'option de ligne de commande -M permet maintenant de lister tous les modules chargés par la configuration courante. Contrairement à l'option -l, cette liste comprend les modules chargés par mod_so.

httxt2dbm
Un nouveau programme permet de transformer les fichiers texte décrivant des ré-écritures (RewriteMap) en fichier binaire au format dbm pour en améliorer les performances.

Modification des modules de développement

APR 1.0 API
Apache 2.2 utilise maintenant l'API de la Bibliothèque Portable Apache (Apache Portable Runtime APR) en version 1.0 minimum. Toutes les fonctions et symboles déclarés obsolètes dans les versions précédentes de APR et APR-Util ont été supprimés.

Authn/Authz
Organisation des modules d'authentification et d'autorisation:
mod_auth_* -> Modules permettant de traiter les informations d'identification avec le client (en HTTP)
mod_authn_* -> Modules fournissant un mécanisme d'authentification
mod_authz_* -> Modules fournissant un mécanisme d'autorisation
mod_authnz_* -> Modules fournissant à la fois un mécanisme d'autorisation et d'authentification

Connection Error Logging
Une nouvelle fonction, ap_log_error permet de tracer les erreurs relatives à la connexion du client. Ces traces incluent l'adresse IP du client.

Test Configuration Hook Added
Un nouveau mécanisme permet aux modules d'ajouter des tests lorsqu'Apache est lancé en mode de test de la configuration (-t)

Set Threaded MPM's Stacksize
Une directive de configuration ThreadStackSize permet de modifier la taille de la pile des threads de l'application. Ceci permet d'utiliser certains modules de tierce-parties sur des plates-formes ayant une faible taille de pile d'exécution.

Protocol handling for output filters
Par le passé, les filtres étaient responsables de modifier les entêtes de la réponse lorsqu'ils modifiaient le flux de la réponse. Un nouveau module mod_filter peut maintenant traiter cette tâche, simplifiant l'écriture des filtres.

Monitor hook added
Les modules peuvent maintenant demander l'exécution de traitements de maintenance périodiques ou ordonnancés dans le processus parent d'Apache.

Connexion aux bases de données (DBD Framework)
Avec Apache 1.x et 2.0, les modules nécessitant une connexion à une base de données devaient également gérer les connexions. En sus de ré-inventer la roue, ceci pouvait être particulièrement inefficace. Par exemple, lorsque plusieurs modules avaient besoin d'accéder à la même base de données, chacun ouvrait ses propres connexions.

Apache 2.1 et les versions suivantes fournissent une API pour gérer les connexions aux bases de données (y compris des stratégies optimisées pour le fonctionnement en threads et sans threads). La version 1.2 de la librairie APR fourni également des fonctions pour dialoguer avec la base de données.

Les nouveaux modules doivent maintenant utiliser ces interfaces pour toutes les opérations sur les bases de données. Les applications et les modules doivent également être mises à jour pour cela, de manière transparente si possible.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Bravo

Posté par Infernal Quack (Jabber id, page perso, ) le 02/12/2005 à 17:24. (lien). Évalué à 6.

Bravo pour cette news très détaillée !
Elle a le mérite de ne pas seulement dire que "Apache 2.2.0 si out" mais décrit aussi particulièrement bien les évolutions.

IPv6

Posté par FRLinux (page perso, ) le 02/12/2005 à 20:18. (lien). Évalué à 3.

Je sais que la nouvelle est déjà très détaillée mais une des raisons pour lesquelles j'attendais cette version en mode stable concerne les nombreux correctifs IPv6 et ce notamment sur le proxy_caching (sinon 14 autres correctifs variant du simple fix au patch de sécurité).

Steph

La license d'Apache 2

Posté par brunoc () le 03/12/2005 à 05:40. (lien). Évalué à 5.

http://www.openbsd.org/faq/fr/faq1.html#HowAbout
http://www.apache.org/licenses/

Chez OpenBSD, ils sont TRES à cheval sur les licenses, et ça contribue à la personnalité du projet ! Et à leurs sens, la license d'Apache 2 n'est pas acceptable. D'où leur choix de se resteindre à Apache 1.3 dont ils maintiennent un fork dans leur distrib. Mais j'admet que j'ai du mal à comprendre, la license Apache 2 est compatible GPL et le projet BSD contient des briques GPL... En quoi la license d'Apache 1 est-elle plus approriée que la license d'Apache 2 dans le cadre du projet OpenBSD ?

Vite, postons chez eux...

Revenir en haut de page