Apache HTTP Server
Modèle:Titre en italique Modèle:Voir homonymes Modèle:Infobox V3/Début Modèle:Infobox V3/Image Wikidata Modèle:Infobox V3/Séparateur Modèle:Infobox V3/Image Wikidata
Modèle:Infobox V3/Tableau début
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
{{#ifeq:Modèle:Wikidata|Modèle:Wikidata | | Modèle:Infobox V3/Tableau Ligne mixte Wikidata }}
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte {{#invoke:Infobox/Fonctions/Logiciel|catByProgrammingLanguage}}
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Titre Bloc Modèle:Infobox V3/Navigateur
Modèle:Infobox V3/Fin avec WikidataModèle:Rien{{#ifeq:|| {{#if:
| }}{{#if:
| {{#if: | | }}
}} }} Le logiciel libre Modèle:Langue (Apache) est un serveur HTTP créé et maintenu au sein de la fondation Apache. Jusqu'en avril 2019<ref>Modèle:Lien web</ref>, ce fut le serveur HTTP le plus populaire du World Wide Web. Il est distribué selon les termes de la licence Apache.
Historique
Apache est apparu en Modèle:Date. Au début, il s'agissait d'une collection de correctifs et d'additions au serveur NCSA HTTPd 1.2, qui était dans le domaine public 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<ref>Modèle:Lien web</ref>,<ref>Modèle:Lien web</ref>, 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 Modèle:Date, selon l'étude permanente de Netcraft<ref>« Modèle:Langue ».</ref>, Apache est devenu le serveur HTTP le plus répandu sur Internet.
Part de marché d'Apache :
- En mai 1999, il faisait tourner 57 % des serveurs Web, début 2004, il était à environ 69 % de parts de marché<ref>news.netcraft.com/.</ref>, et il ne détient plus que 50,61 % du marché à la fin du mois de janvier 2008 ;
- En Modèle:Date, Apache représente 50,93 % des parts de marché<ref>PHP 5.2 utilisé par 23 % des sites Web en février 2008.</ref>,<ref>Netcraft: February 2008 Web Server Survey.</ref> ;
- En Modèle:Date-, 72,45 % de parts de marché pour Apache<ref>Serveurs Web : 72,45 % de parts de marché pour Apache, publié le 16 décembre 2008, article citant SecuritySpace comme source.</ref> ;
- En Modèle:Date-, 65,00 % de parts de marché pour Apache<ref name=":0">Netcraft: may 2014 Web Server Survey, Publié le Modèle:1er mai 2014.</ref> ;
- En Modèle:Date-, 38,00 % de parts de marché pour Apache et 33,00 % pour Microsoft IIS<ref name=":0" />.
- En Modèle:Date- sur l'analyse de 876 812 666 sites, correspondant à 5 061 365 ordinateurs frontaux, les parts de marché sont de 39,74 % pour Apache, et 27,52 % pour IIS. Sur les parts de marché des serveurs actifs (en excluant les sites parkings<ref>Modèle:Lien web</ref>) par contre, 50,72 % pour Apache, 14,82 % pour Nginx et IIS passe en Modèle:3e avec seulement 10,55 %, perdant 1,17 % de parts par rapport au mois précédent<ref>Modèle:Lien web</ref>.
- En Modèle:Date-, Apache est utilisé par 59,76 %<ref>Modèle:Lien web</ref> du total des domaines français enregistrés.
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 (Modèle:Langue ou ASF) a été créée en 1999 à partir du groupe Apache (Modèle:Langue) à 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.
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.
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 outils 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.
Quelques modules intéressants
Les modes Prefork, Worker et Event
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 des droits étendus (root) démarre 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 (mémoire, descripteurs de fichiers).
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. Des modules développés par des tiers, ou des librairies utilisées par ces modules, peuvent ne pas être prévus pour fonctionner dans un environnement multi-thread; ils pourront en ce cas être source de dysfonctionnements si on les utilise avec le mode worker.
Depuis la version 2.4, le module event est disponible en production. C'est un fonctionnement dérivé du mode worker à ceci près que les threads ne desservent pas seulement une connexion client mais peuvent réaliser plusieurs tâches indépendamment de la connexion. Ainsi, les notions de KeepAlive
sont mieux gérées dans le sens où un thread n'attend plus que la connexion soit terminée pour en desservir une autre. Plus clairement, le thread dessert une requête et non pas une connexion.
Modules : prefork.c, worker.c, event.c
Les modules de Proxy
Par le biais de mod_proxy, entre autres, il est possible de se servir de Httpd Server comme d'un véritable Proxy.
Une des utilisations les plus intéressantes 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 au point pour une mise en production sans difficultés à partir de la version 2.1.
Modules : mod_proxy, mod_proxy_balancer, mod_proxy_http, mod_proxy_ajp, mod_proxy_connect