Apache HTTP Server

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Apache (homonymie).
Apache HTTP Server
ASF-logo.svg
Développeur Apache Software Foundation
Dernière version 2.2.16 (25 juillet 2010) [+/-]
Version avancée 2.3.6-alpha (le 18 juin 2010) [+/-]
Environnements Multiplate-forme
Type Serveur HTTP
Licence Licence Apache
Site Web httpd.apache.org

Apache HTTP Server, souvent appelé Apache, est un logiciel de serveur HTTP produit par l'Apache Software Foundation. C'est le serveur HTTP le plus populaire du Web. C'est un logiciel libre avec un type spécifique de licence, nommée licence Apache.

Sommaire

[modifier] Historique

Apache est apparu en avril 1995. Au début, il s'agissait d'une collection de correctifs et d'additions au serveur NCSA HTTPd 1.3, qui était dans le domaine public en droit de la propriété intellectuelle français et le serveur HTTP alors le plus répandu. De cette origine, de nombreuses personnes affirment que le nom Apache vient de a patchy server, soit « un serveur rafistolé ». Par la suite, Apache a été complètement réécrit, de sorte que, dans la version 2, il ne reste pas de trace de NCSA HTTPd.

Au début, Apache était la seule alternative sérieuse et libre au serveur HTTP de Netscape (iPlanet, maintenant Sun ONE). Depuis avril 1996, selon l'étude permanente de Netcraft[1], Apache est devenu le serveur HTTP le plus répandu sur Internet. En mai 1999, il faisait tourner 57 % des serveurs Web, et si début 2004, il était à environ 69 % de parts de marché[2], il ne détient plus que 50,61% du marché à la fin du mois de janvier 2008. En février 2008, Apache représente 50,93% des parts de marché[3],[4]. En décembre 2008, 72,45% de parts de marché pour Apache[5]

La version 2 d'Apache possède plusieurs avancées majeures par rapport à la version 1, entre autres le support de plusieurs plates-formes (Windows, Linux et UNIX, entre autres), le support de processus légers UNIX, une nouvelle API et le support IPv6.

La fondation Apache (Apache Software Foundation ou ASF) a été créée en 1999 à partir du groupe Apache (Apache Group) à l'origine du serveur en 1995. Depuis, de nombreux autres logiciels utiles au World Wide Web sont développés à côté du serveur HTTP.

[modifier] Disponibilité

Apache fonctionne principalement sur les systèmes d'exploitation UNIX (Linux, Mac OS X, Solaris, BSD et UNIX) et Windows. La version Windows n'est considérée comme stable que depuis la version 1.2 d'Apache. Apache est utilisé par de nombreux produits, dont WebSphere d'IBM, ainsi que par Oracle Corporation. Il est également supporté d'une façon ou d'une autre par les outils de développement Borland Delphi et Kylix, ainsi que par des CMS comme Drupal[6].

[modifier] Fonctionnalités

Apache est conçu pour prendre en charge de nombreux modules lui donnant des fonctionnalités supplémentaires : interprétation du langage Perl, PHP, Python et Ruby, serveur proxy, Common Gateway Interface, Server Side Includes, réécriture d'URL, négociation de contenu, protocoles de communication additionnels, etc. Néanmoins, il est à noter que l'existence de nombreux modules Apache complexifie la configuration du serveur web. En effet, les bonnes pratiques recommandent de ne charger que les modules utiles : de nombreuses failles de sécurité affectant uniquement les modules d'Apache sont régulièrement découvertes.

Les possibilités de configuration d'Apache sont une fonctionnalité phare. Le principe repose sur une hiérarchie de fichiers de configuration, qui peuvent être gérés indépendamment. Cette caractéristique est notamment utile aux hébergeurs qui peuvent ainsi servir les sites de plusieurs clients à l'aide d'un seul serveur HTTP. Pour les clients, cette fonctionnalité est rendue visible par le fichier .htaccess.

Parmi les logiciels aidant la maintenance d'Apache, les fichiers de log peuvent s'analyser à l'aide de nombreux scripts et logiciels libres tels que AWStats, Webalizer ou W3Perl. Plusieurs interfaces graphiques facilitent la configuration du serveur.

[modifier] Quelques modules intéressants

[modifier] Les modes Prefork et Worker

Ces deux grands modes de fonctionnement changent notamment les performances du serveur HTTP.

Historiquement, Apache fonctionne en Prefork, ce qui signifie qu'un processus père lancé avec de grands droits (root) pré-execute des processus enfants qui traiteront chacun un certain nombre de requêtes clients. Cependant, sous Linux, la multiplication des processus provoque une augmentation de consommation de ressources.

En mode Worker, Apache lance des threads qui géreront les demandes entrantes. La différence est qu'il s'agit d'un mode plus préemptif dans lequel le processus père prépare les ressources pour ses threads.

Modules : prefork.c ou worker.c

[modifier] Les modules de Proxy

Par le biais de mod_proxy, entres autres, il est possible de se servir de Httpd Server comme d'un véritable Proxy.

Une des utilisations les plus interessantes consiste en la répartition de charge, soit dans le cadre d'une haute disponibilité, soit dans le but d'obtenir de meilleures performances. Les aptitudes de Reverse Proxying sont suffisamment ...[précision nécessaire] au point pour une mise en production sans difficultés à partir de la version 2.2.

Modules : mod_proxy, mod_proxy_balancer, mod_proxy_http, mod_proxy_ajp, mod_proxy_connect


[modifier] Références

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Lien interne

Wikibooks-logo-fr.png

Wikibooks propose un ouvrage abordant ce sujet : L'installation et la configuration d'un serveur Apache.

[modifier] Lien externe

Ce document provient de « http://fr.wikipedia.org/wiki/Apache_HTTP_Server ».
Outils personnels
Espaces de noms
Variantes
Actions
Navigation
Contribuer
Imprimer / exporter
Boîte à outils
Autres langues