Serveur HTTP Apache

Un article de Wikipédia, l'encyclopédie libre
Aller à la navigation Aller à la recherche

Le serveur HTTP Apache [ əˈpætʃi ] est un produit open source et gratuit de l' Apache Software Foundation et l'un des serveurs Web les plus largement utilisés sur Internet . [9]

histoire

Un groupe de huit développeurs a commencé à étendre le serveur Web NCSA HTTPd en 1994. Ceux-ci étaient en détail : Brian Behlendorf , Roy T. Fielding , Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau et Andrew Wilson avec le soutien d'Eric Hagberg, Frank Peters et Nicolas Pioch.

Ils nommèrent le résultat de leur travail Apache HTTP Server et le publièrent en avril 1995. C'était le projet fondateur de l' Apache Software Foundation .

origine du nom

Le nom a été choisi par respect pour la tribu indienne nord-américaine des Apaches . [10] Il est incorrect que le nom soit un homophone de « un serveur inégal », ce qui signifierait quelque chose comme « un serveur reconstitué ». Cette interprétation est née du fait que le serveur HTTP Apache était à l'origine une extension corrigée de l'ancien serveur HTTP NCSA . [11]

propriétés et fonctions

Outre Unix et Linux , Apache prend en charge Win32 , NetWare et un grand nombre d'autres systèmes d'exploitation. Dans Apache 2.4, la prise en charge des systèmes d'exploitation plus anciens et morts depuis longtemps tels que BeOS , TPF et A/UX a pris fin. [12] Dans la version 2.0, la stabilité et la vitesse du serveur - en particulier sur les systèmes non Unix - ont été considérablement améliorées : la bibliothèque Apache Portable Runtime (APR) fournit une généralisation des appels système importants, de sorte que les points forts individuels du système d'exploitation respectifpeut être exploité. En outre, il existe divers modules de multitraitement (MPM) qui, selon la plate-forme, offrent différentes solutions pour le traitement simultané de plusieurs requêtes client : par exemple, le préfork MPM pour les systèmes Unix classiques repose sur des processus de bifurcation , tandis que mpm_winnt optimise pour les threads les plus recommandés sous Windows sont.

Le serveur web Apache a une structure modulaire : avec les modules appropriés , il peut, par exemple, chiffrer la communication entre le navigateur et le serveur web ( mod_ssl ), être utilisé comme serveur proxy ( mod_proxy ) ou effectuer des manipulations complexes des données d'en-tête HTTP ( en-têtes de mod ) et URL ( réécriture de mod ). .

Apache offre la possibilité de créer des sites Web de manière dynamique en utilisant des langages de script côté serveur. Les langages de script couramment utilisés sont PHP , Perl ou Ruby . Les autres langages incluent Python , JavaScript (par exemple V8CGI ), Lua , Tcl et .NET (en utilisant ASP.NET ou Mono ). Ceux-ci ne font pas partie du serveur Web, mais doivent également être intégrés en tant que modules ou adressés via le CGI , car Apache, contrairement à nginxest basé sur un module. Les modules peuvent être activés ou désactivés à tout moment. Server Side Include (SSI) peut être exécuté via le mod_include inclus avec l'installation d'Apache . Cela permet de créer des sites Web dynamiques simples et de minimiser l'administration des sites Web statiques.

Comme tous les programmes de l'Apache Software Foundation, le serveur HTTP Apache est un logiciel libre . La version stable 2.4.x est actuellement toujours prise en charge et donc fournie avec des mises à jour de sécurité, par exemple. Les développeurs Apache recommandent la version 2.4.x pour une utilisation productive. [13]

Documentation

Il existe un manuel pour le serveur Web. Certaines distributions (par exemple Ubuntu [14] ) le fournissent sous la forme d'un package de programme séparé ( il existe un package apache2-doc pour le package apache2 ). En fonction de la configuration de la langue du navigateur Web, qu'il transmet dans le champ Accept-Language du HTTP , le manuel est livré dans la langue appropriée si celle-ci est disponible.

distributions

Le serveur HTTP Apache est inclus par défaut dans presque toutes les distributions Linux et dans macOS . Une distribution de développement populaire pour Windows , Linux et Mac OS X est XAMPP .

Versions majeures

  • Apache 1.x : Cette version a été publiée pour la première fois en 1995 . La poursuite du développement de la dernière branche de développement 1.3.x a expiré en février 2010. Depuis lors, la version 1 n'a reçu des mises à jour de sécurité que lorsque cela était nécessaire. Entre-temps, la fourniture de mises à jour de sécurité a également été interrompue.
  • Apache 2.x : Cette version a été publiée pour la première fois en mars 2000. A partir de cette version, seule la branche de développement 2.4 est fournie avec les mises à jour de sécurité et les développements ultérieurs.

aperçu des versions

Apache 1

Apache 1.0

Apache 1.3

Apache 2

Apache 2.0

Apache 2.2

Apache 2.3

Apache 2.4

modules

Sortie de mod_status

Le serveur Apache peut être étendu avec des soi-disant modules qui apportent certaines fonctions supplémentaires et commencent toujours par 'mod_' (par exemple mod_rewrite, mod_php7.0, mod_ssl). Il y a des modules entre autres. pour [16]

  • SSL (mod_ssl pour OpenSSL , mod_gnutls pour GnuTLS )
  • Intégration et utilisation de langages de script dynamiques (par exemple mod_php, mod_perl, mod_python)
  • Prise en charge de protocoles supplémentaires ( WebDAV : mod_dav, mod_dav_fs, mod_dav_lock, mod_dav_repos )
  • Authentification (mod_auth*)
  • Transfert vers d'autres serveurs (mod_proxy)
  • Demander la réécriture et le transfert ( mod rewrite ; ce dernier utilisant mod_proxy)
  • Modifications des lignes d'en -tête (mod_header)
  • Informations automatiques sur les types de fichiers (mod_mime, mod_mime_magic)
  • Génération automatique de rapports d'état (mod_status)

Voir également

liens web

Commons : Serveur HTTP Apache  - Collection d'images, de vidéos et de fichiers audio

les détails

  1. www.apache.org . (consulté le 23 août 2016).
  2. downloads.apache.org .
  3. linuxdocs.org . (consulté le 23 août 2016).
  4. github.com . (consulté le 11 août 2017).
  5. Le projet Open Source apache sur Open Hub : Page Langues . Dans : OpenHub . (consulté le 26 septembre 2018).
  6. projets.apache.org . (consulté le 8 avril 2020).
  7. httpd.apache.org . (consulté le 7 avril 2016).
  8. www.apache.org . (consulté le 23 août 2016).
  9. Enquête sur les serveurs Web. Netcraft , Ltd. Récupéré le 13 avril 2016 .
  10. Pourquoi le nom « Apache » ? Dans : Questions fréquemment posées sur le serveur Apache. Apache Software Foundation, consulté le 3 novembre 2015 .
  11. FAQ Apache (première publication expérimentale). Dans : Groupes Google. Google Inc., 13 mai 1997, récupéré le 29 janvier 2010 (anglais).
  12. Mise à niveau vers 2.4 à partir de 2.2. Consulté le 14 janvier 2017 .
  13. Serveur HTTP Apache 2.4.43 publié. Dans : Serveur HTTP Apache. Apache Software Foundation, 1er avril 2020, récupéré le 27 mai 2020 .
  14. https://packages.ubuntu.com/bionic/apache2-doc
  15. Historique des versions d'Apache
  16. Index des modules - Serveur HTTP Apache. apache.org, consulté le 15 novembre 2014 .