Serveur HTTP Apache Version 2.4

Ce document décrit les modifications majeures apportées par la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités ajoutées par la version 2.2, se référer au document Nouvelles fonctionnalités de la version 2.2.

 Améliorations du noyau
 Améliorations du noyau Nouveau modules
 Nouveau modules Améliorations des modules
 Améliorations des modules Améliorations des programmes
 Améliorations des programmes Documentation
 Documentation Modifications concernant les développeur de modules
 Modifications concernant les développeur de modulesLoadModule.LogLevel
      peut maintenant être définie par module et par répertoire. Les
      nouveaux niveaux trace1 à trace8 ont été
      ajoutés au dessus du niveau de journalisation debug.If,
      <ElseIf> et
      <Else>
      permettent de définir une configuration en fonction de critères
      liés à la requête.SetEnvIfExpr, RewriteCond, Header,
      <If>, etc...
      KeepAliveTimeout en millisecondes.
      .htaccessAllowOverrideList permet de contrôler de
      manière plus précise la liste des directives autorisées dans les
      fichiers .htaccess.Define
      permet de définir des variables dans les fichiers de
      configuration, améliorant ainsi la clareté de la présentation si
      la même valeur est utilisée en plusieurs points de la
      configuration.
      mod_proxy_fcgimod_proxy.mod_proxy_scgimod_proxy.mod_proxy_expressmod_proxy la configuration dynamique
      de mandataires inverses en masse.mod_remoteipmod_heartmonitor,
          mod_lbmethod_heartbeatmod_proxy_balancer de répartir la
      charge en fonction du nombre de connexions actives sur les
      serveurs d'arrière-plan.mod_proxy_htmlmod_sedmod_substitute qui permet
      d'éditer le corps de la réponse avec toute la puissance de la
      commande sed.mod_auth_formmod_sessionmod_allowmethodsmod_luamod_log_debugmod_buffermod_datamod_ratelimitmod_requestmod_reflectormod_slotmem_shmmod_xml2encmod_macro (disponible à partir de la version 2.4.5)mod_proxy_wstunnel (disponible à partir de la version 2.4.5)mod_authnz_fcgi (disponible à partir de la version 2.4.10)mod_http2 (disponible à partir de la version 2.4.17)mod_proxy_http2 (disponible à partir de la version 2.4.19)mod_proxymod_proxy_hcheck (disponible à partir de la version 2.4.21)mod_brotli (disponible à partir de la version 2.4.26)mod_md (disponible à partir de la version 2.4.30)mod_proxy_uwsgi (disponible à partir de la version 2.4.30)mod_proxy.mod_socache_redis (disponible à partir de la version 2.4.39)mod_systemd (disponible à partir de la version 2.4.42)Type=notify.mod_sslmod_ssl peut maintenant vérifier la
      validité des certificats clients en se connectant à
      un serveur OCSP. Il est possible de définir un
      répondeur par défaut, et de choisir si l'on
      préfère le répondeur désigné
      dans le certificat client.mod_ssl supporte maintenant
	l'estampillage OCSP (OCSP stapling), qui permet au serveur
	d'attester la validité de son certificat auprès du client au
	cours de la phase de négociation de la connexion.mod_ssl peut maintenant être configuré pour
      que celui-ci partage les données de session SSL entre les serveurs
      via memcached.mod_proxyProxyPass est maintenant configurée
      de manière optimale dans les sections Location ou LocationMatch, et offre un gain de
      performances important par rapport à la syntaxe traditionnelle à
      deux paramètres lorsqu'elle est présente en grand nombre.mod_proxy_balancermod_cachemod_cache peut être
      inséré à un certain point de la chaîne de filtrage pour contrôler
      plus finement la mise en cache.
      mod_cache peut maintenant mettre en cache des
      requêtes HEAD.mod_cache peuvent maintenant être définies au
      niveau du répertoire, et non plus seulement au niveau du serveur
      principal.mod_cache peut maintenant servir du contenu
      non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
      disponible (erreur 5xx).mod_cache peut maintenant insérer
      HIT/MISS/REVALIDATE dans un en-tête X-Cache.mod_includemod_cgi, mod_include,
          mod_isapi, ...mod_authz_core Conteneurs de logique d'autorisationRequire et les directives de
      conteneurs associées, comme <RequireAll>, permettent de définir une
      logique d'autorisation avancée.mod_rewriteRewriteRule dispose maintenant
      des drapeaux [QSD] (Query String Discard) et
      [END] qui permettent de simplifier les scénarios de
      réécriture courants.RewriteCond.RewriteMap.mod_ldap, mod_authnz_ldapmod_authnz_ldap ajoute le support des
      groupes imbriqués.mod_ldap apporte les directives LDAPConnectionPoolTTL et LDAPTimeout, ainsi que d'autres
      améliorations dans le traitement des délais. Ceci s'avère utile
      pour les configurations où un pare-feu à mémoire d'état (stateful)
      rejète les connexions inactives vers le serveur LDAP.mod_ldap propose la directive LDAPLibraryDebug qui permet de
      journaliser les informations de débogage fournies par la boîte à
      outils LDAP utilisée.mod_infomod_info est maintenant capable d'afficher la
      configuration préinterprétée sur stdout au cours du démarrage du
      serveur.mod_auth_basicfcgistarterhtcachecleanrotatelogshtpasswd, htdbmmod_rewrite a
	été réorganisée et presque entièrement réécrite en mettant
	l'accent sur les exemples et l'utilisation courante, ainsi que
	sur l'incitation à utiliser d'autres solutions lorsque cela
	s'avère plus approprié. Le document Rewrite
	Guide constitue maintenant une section de premier niveau ;
	il est mieux organisé et contient beaucoup plus de détails.mod_ssl a été
	grandement améliorée, avec plus d'exemples et un niveau "Bien
	démarrer" qui s'ajoutent aux détails techniques déjà présents
	dans la précédente documentation.mod_cache, et la mise en cache
	générique de type clé/valeur fournie par l'interface socache, mais aussi pour couvrir la mise
	en cache spécialisée fournie par des mécanismes tels que ceux du
	module mod_file_cache.check_config, a été ajoutée et
      s'exécute entre les fonctions pre_config et
      open_logs. Elle s'exécute aussi avant la fonction
      test_config si l'option -t est passée au
      démon httpd. La fonction check_config
      permet aux modules de vérifier l'interdépendance des valeurs des
      directives de configuration et d'ajuster ces valeurs, alors que les
      messages du serveur peuvent encore être affichés sur la console.
      L'utilisateur est ainsi averti des erreurs de configuration avant que la
      fonction du noyau open_logs ne redirige les sorties de la
      console vers le journal des erreurs.mod_ssl.<RequireAll>, les modules d'autorisation
      s'enregistrent maintenant en tant
      que fournisseur par le biais de ap_register_auth_provider().mod_ssl. Sont supportés
      actuellement : les fournisseurs utilisant un tampon cyclique en
      mémoire partagée, les fichiers dbm sur disque, et les caches
      distribués de type memcache.mod_cache inclut maintenant un
      nouveau point d'ancrage, cache_status, qui est appelé
      lorsque la décision à propos de la mise en cache est connue. Il en
      existe une implémentation par défaut qui ajoute les en-têtes
      optionnels X-Cache et X-Cache-Detail à
      la réponse.La documentation du développeur contient une liste détaillée des modifications de l'API.