Serveur web

Un serveur web est[note 1], soit un logiciel de service de ressources web (serveur HTTP), soit un serveur informatique (ordinateur) qui répond à des requêtes du World Wide Web sur un réseau public (Internet) ou privé (intranet)[1],[2],[3], en utilisant principalement le protocole HTTP.

Serveurs de la Wikimedia Foundation.
Centre d'accueil des visiteurs du CERN, premier serveur web de l'histoire (1989).

Un serveur informatique peut être utilisé à la fois pour servir des ressources du Web et pour faire fonctionner en parallèle d'autres services liés comme l'envoi d'e-mails, l'émission de flux streaming, le stockage de données via des bases de données, le transfert de fichiers par FTP, etc[3].

Présentation

Les serveurs web publics sont reliés à Internet et hébergent des ressources (pages web, images, vidéos, etc.) du Web. Ces ressources peuvent être statiques (servies telle-quelles) ou dynamiques (construites à la demande par le serveur).

Certains serveurs sont seulement accessibles sur des réseaux privés (intranets) et hébergent des sites utilisateurs, des documents, ou des logiciels, internes à une entreprise, une administration, etc.

Techniquement il serait possible qu'un même ordinateur remplisse ces deux fonctions, mais c'est rarement le cas pour des raisons de sécurité[réf. nécessaire]. La fonction principale d'un serveur Web est de stocker et délivrer des pages web qui sont généralement rendues en HTML. Le protocole de communication Hypertext Transfer Protocol (HTTP) permet le dialogue via le réseau avec le logiciel client, généralement un navigateur web.

Logiciel de serveurs HTTP

Les deux termes sont utilisés pour le logiciel car le protocole HTTP a été développé pour le Web, et les pages Web sont en pratique toujours servies avec ce protocole. Cependant d'autres ressources du Web comme les fichiers à télécharger ou les flux audio ou vidéo sont parfois servis avec d'autres protocoles, telle que, par exemple, le protocole de transport Temps Réel (Real-time Transport Protocol), ainsi que son pendant sécurisé, le protocole de transport sécurisé Temps Réel (Secure Real-time Transport Protocol).

Exemples de serveur HTTP

Part des serveurs HTTP dans le monde.
Part des serveurs HTTP dans le monde en janvier 2016.

Part de marché du million de serveurs les plus actifs[4]

  • Apache (42,5 %)
  • Nginx (40,1 %)
  • IIS (11,9 %)
  • LiteSpeed (2,3 %)
  • Google Servers (1,4 %)

CERN httpd est le premier serveur HTTP, inventé en même temps que le World Wide Web, en 1990 au CERN de Genève, il est rapidement devenu obsolète en raison de l'évolution exponentielle des fonctionnalités du protocole.

Quelques serveurs HTTP :

Part de marché

Le serveur HTTP le plus utilisé est Apache HTTP Server qui sert environ 55 % des sites web en selon Netcraft[6].

Le serveur HTTP le plus utilisé dans les 1 000 sites les plus actifs est en revanche Nginx avec 38,2 % de parts de marché en 2016 selon w3techs et 53,9 % en [4]

Historiquement, d'autres serveurs HTTP importants furent CERN httpd, développé par les inventeurs du Web, abandonné le et NCSA HTTPd, développé au NCSA en même temps que NCSA Mosaic, abandonné mi-1994, ainsi que WebObjects.

Il existe aussi des serveurs HTTP qui sont des serveurs d'applications capables de faire serveur HTTP, comme Caudium et GlassFish. A l'inverse, on peut trouver des serveurs HTTP spécialisés dans un service distinct comme : HTTP File Server qui est uniquement destiné au partage de fichiers Le logiciel serveur HTTP ou daemon HTTP est le logiciel prenant en charge les requêtes client-serveur du protocole HTTP développé pour le World Wide Web. Ces logiciels intègrent généralement des modules permettant d'exécuter un langage serveur comme PHP pour générer des pages web dynamiques. Les plus connus sont Apache, Nginx, IIS, et Lighttpd.

Autres logiciels usuels

Le plus souvent, un serveur Web exécute continuellement d'autres logiciels qui fonctionnent en collaboration avec le logiciel de serveur HTTP. Selon les besoins, certains services gourmands en ressources, comme le serveur de base de données, peuvent être situés sur la même machine ou un serveur spécialisé.

Certaines combinaisons de logiciels de base sont connues sous différents acronymes, notamment celle d'Apache (serveur HTTP) logiciel installé et exécuté sur le serveur web en parallèle de MySQL (serveur de base de données) et le script d'interprétation et d'exécution de PHP (voire PHP-FPM)[7].

Voir en PDF l'introduction « Qu'entend-t-on par serveur HTTP et serveur Web ? » d'Anthony Garcia (2008) - IBISC[source insuffisante] :

Il existe aussi la distribution de Microsoft nommée IIS pour « Internet Information Services » qui comprend plusieurs services : HTTP, FTP, SMTP et NNTP.

Problématiques

Équilibrage de charge

L’équilibrage de charge des serveurs web, ou répartition de charge des serveurs Web, regroupe l’ensemble des mécanismes utilisés pour distribuer les requêtes sur de multiples serveurs Web. Cette pratique est devenue indispensable depuis l’explosion du trafic du Web qui a pour conséquence un accroissement important de la charge demandé au serveur. Cela a entraîné une évolution des architectures, destinée à apporter plus de scalabilité, de disponibilité et de performances.

Notes

  1. Suite aux discussions sur la page de discussion de l'article, et suite à une raison historique : Serveur HTTP, Serveur Web est bien une seule désormais : celle-ci. Pour cette raison, l'introduction présente les deux définitions.

Références

  1. « Serveur Web : définition, bases, astuces et logiciels », sur IONOS.fr (consulté le ).
  2. Alain Mathieu et Dominique Lerond, « Serveur web - Définition », sur mosaique-info.fr (consulté le ).
  3. Pierre Alexis, Hugues Bersini et Gilles Degols, Apprendre la programmation web avec Python & Django : Principes et bonnes pratiques pour les sites web dynamiques, Paris, Eyrolles, , 368 p. (ISBN 978-2-212-67515-3, lire en ligne), p. 9
  4. (en) « Usage of web servers broken down by ranking » (consulté le ).
  5. (en) « BusyBox HTTP Daemon (httpd) », OpenWrt.
  6. (en) « January 2013 Web Server Survey », Netcraft, 7 janvier 2013.
  7. Anthony Garcia, Apache, (lire en ligne [PDF])

Annexes

Articles connexes

  • Portail des réseaux informatiques
  • Portail d’Internet
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.