Serveur Web

Aperçu

Web serverest un ordinateur sur lequel le contenu Web est stocké. Fondamentalement, le serveur Web est utilisé pour héberger les sites Web, mais il existe d'autres serveurs Web tels que les jeux, le stockage, le FTP, le courrier électronique, etc.

Le site Web est une collection de pages Web tandis que le serveur Web est un logiciel qui répond à la demande de ressources Web.

Fonctionnement du serveur Web

Le serveur Web répond à la demande du client de l'une des deux manières suivantes:

  • Envoi du fichier au client associé à l'URL demandée.

  • Générer une réponse en appelant un script et en communiquant avec la base de données

Key Points

  • Lorsque le client envoie une demande de page Web, le serveur Web recherche la page demandée si la page demandée est trouvée, puis il l'envoie au client avec une réponse HTTP.

  • Si la page Web demandée n'est pas trouvée, le serveur Web enverra un HTTP response:Error 404 Not found.

  • Si le client a demandé d'autres ressources, le serveur Web contactera le serveur d'applications et le magasin de données pour créer la réponse HTTP.

Architecture

L'architecture du serveur Web suit les deux approches suivantes:

  1. Approche simultanée

  2. Approche axée sur les événements à processus unique.

Approche simultanée

L'approche simultanée permet au serveur Web de traiter plusieurs demandes client en même temps. Il peut être réalisé par les méthodes suivantes:

  • Multi-process

  • Multi-threaded

  • Méthode hybride.

Traitement multiple

Dans ce cas, un processus unique (processus parent) lance plusieurs processus enfants à un seul thread et distribue les demandes entrantes à ces processus enfants. Chacun des processus enfants est responsable du traitement d'une seule demande.

Il incombe au processus parent de surveiller la charge et de décider si les processus doivent être supprimés ou interrompus.

Multi-thread

Contrairement à Multi-processus, il crée plusieurs processus à un seul thread.

Hybride

C'est une combinaison des deux approches ci-dessus. Dans cette approche, plusieurs processus sont créés et chaque processus lance plusieurs threads. Chacun des threads gère une connexion. L'utilisation de plusieurs threads dans un seul processus réduit la charge sur les ressources système.

Exemples

Le tableau suivant décrit les principaux serveurs Web disponibles aujourd'hui:

SNDescriptino du serveur Web
1Apache HTTP Server
Il s'agit du serveur Web le plus populaire au monde développé par Apache Software Foundation. Le serveur Web Apache est un logiciel open source et peut être installé sur presque tous les systèmes d'exploitation, y compris Linux, UNIX, Windows, FreeBSD, Mac OS X et plus. Environ 60% des machines du serveur Web exécutent le serveur Web Apache.
2.Internet Information Services (IIS)
Internet Information Server (IIS) est un serveur Web hautes performances de Microsoft. Ce serveur Web fonctionne sur les plates-formes Windows NT / 2000 et 2003 (et peut également être sur la nouvelle version de Windows à venir). IIS est fourni avec Windows NT / 2000 et 2003; Parce qu'IIS est étroitement intégré au système d'exploitation, il est relativement facile de l'administrer.
3.Lighttpd
Le lighttpd, prononcé lighty est aussi un serveur web gratuit qui est distribué avec le système d'exploitation FreeBSD. Ce serveur Web open source est rapide, sécurisé et consomme beaucoup moins de puissance CPU. Lighttpd peut également fonctionner sur les systèmes d'exploitation Windows, Mac OS X, Linux et Solaris.
4.Sun Java System Web Server
Ce serveur Web de Sun Microsystems convient aux sites Web de taille moyenne et grande. Bien que le serveur soit gratuit, il n'est pas open source. Cependant, il fonctionne sur les plates-formes Windows, Linux et UNIX. Le serveur Web Sun Java System prend en charge divers langages, scripts et technologies requis pour le Web 2.0 tels que JSP, Java Servlets, PHP, Perl, Python et Ruby on Rails, ASP et Coldfusion, etc.
5.Jigsaw Server
Jigsaw (serveur du W3C) provient du World Wide Web Consortium. Il est open source et gratuit et peut fonctionner sur diverses plates-formes comme Linux, UNIX, Windows et Mac OS X Free BSD, etc. Jigsaw a été écrit en Java et peut exécuter des scripts CGI et des programmes PHP.