Grâce à un serveur Web, on peut enregistrer des contenus Web et assurer leur accessibilité aux utilisateurs de manière sûre. Lorsque vous chargez une adresse Internet dans votre navigateur Web, les éléments que vous apercevez d’une page sont toujours envoyés sur votre ordinateur depuis un serveur Web. Pour qu’un site Web soit accessible à tout moment, le serveur Web sur lequel il est hébergé doit être connecté à Internet en permanence.

Qu’est-ce qu’un serveur Web ? Définition et origine

Par serveur Web (aussi appelé serveur HTTP), on entend tout type de serveur permettant de diffuser des contenus Web sur Internet ou Intranet. En tant que partie d’un réseau d’ordinateurs, un serveur Web transmet des documents (d’une page Web à un navigateur par exemple) à ce qu’on appelle un client.

Le terme de serveur Web peut en général se référer à deux choses différentes : soit au logiciel d’un serveur Web, soit à la machine sur laquelle s’exécute le programme. Lorsqu’il s’agit de la seconde définition, on parle généralement d’hébergeur ou d’hôte (un tel hébergeur peut abriter plusieurs programmes de serveur Web). Dans la suite de ce guide, nous parlerons de logiciels de serveurs Web (ou programmes) ou d’hébergeurs (hôtes) pour distinguer ces deux définitions.

On évoque souvent le physicien et informaticien Tim Berners-Lee lorsqu’on parle du développement du serveur Web. En 1989, ce dernier suggérait de baser l’échange d’informations du CERN (Organisation européenne pour la recherche nucléaire) sur un système hypertexte, plus simple et plus rapide. En 1990, avec Robert Caillau, il présentait un plan de projet pour le premier serveur Web du nom de « CERN httpd », mais aussi le premier navigateur Web et d’autres éléments fondamentaux qui ont résulté quelque temps plus tard sur les protocoles HTML et HTTP par exemple. Berners-Lee est aujourd’hui considéré, à ce titre, comme fondateur du World Wide Web.

Comment fonctionne un serveur Web ?

Un logiciel de serveur Web sert avant tout à donner une représentation à des données de contenus Web. Dans ce but, le programme communique avec un client Web (en général un navigateur Web ou un crawler de moteurs de recherche).

Si vous voulez visiter un site Web, vous devez renseigner l’adresse Internet correspondante dans un navigateur. Autrement dit, le navigateur envoie une requête au serveur Web et ce dernier lui envoie une réponse sous forme de page HTML. Un tel document HTML peut être enregistré sur l’hébergeur de manière statique ou dynamique. Cela signifie que le serveur Web doit exécuter des codes de programme (PHP ou Java) avant la réponse. Le navigateur interprète alors cette réponse et envoie d’autres requêtes pour charger, par exemple, les images ou les fichiers CSS.

La transmission est effectuée via le protocole de communication HTTP (et sa variante sécurisée HTTPS), qui repose sur le protocole de réseau IP et TCP (aussi UDP dans de rares exceptions). Un serveur Web est capable de livrer le contenu d’un site Web à de nombreux ordinateurs et navigateurs différents en même temps. Le nombre et la rapidité de traitement des requêtes utilisateur dépendent entre autres du matériel et de la charge des flux de données de l’hébergeur. La complexité des contenus Web joue également un rôle : les processus de tâches de calcul intensif demandent logiquement plus de ressources que des processus plus simples.

Le choix du serveur hôte approprié (entre un serveur virtuel, dédié ou Cloud) permet de prévenir une surcharge de votre serveur. Pourtant, même si vous utilisez un serveur correspondant à vos besoins en termes de ressources, les pannes sont toujours probables. Ces pannes ou erreurs peuvent être entraînées par une coupure de courant ou un autre problème technique dans le data center de l’hébergeur. Même si une telle panne ne se répète que très rarement, cela entraîne une coupure totale du réseau et donc l’arrêt du fonctionnement du site Web. Un système tel que le réseau de diffusion de contenu (CDN pour Content Delivery Network permet de remédier à ces problèmes techniques via une meilleure répartition des charges et un système de répliques permettant d’éviter la perte de données.

Quelles sont les fonctions avancées d’un serveur Web ?

Même si la transmission de contenus Web est la mission principale des logiciels de serveurs Web, de nombreux programmes proposent des fonctions supplémentaires :

Fonction supplémentaire du serveur Web
Sécurité Chiffrement des communications entre le serveur Web et le client Web via HTTPS
Authentification utilisateur Authentification HTTP pour restreindre l’accès à certaines parties d’une application Web
Redirection Redirection d’une requête de document à l’aide d’un moteur de réécriture (rewrite engine)
Caching Mise en cache de documents dynamiques pour répondre plus rapidement aux requêtes et éviter la surcharge du serveur Web
Attribution de cookies Envoi et traitement des cookies HTTP

Un hébergeur peut être mis en relation avec d’autres programmes que des logiciels de serveur Web. Un client FTP peut par exemple servir au chargement de données ou en tant que base de données de serveur pour des contenus dynamiques (pour lesquels les professionnels utilisent en général différents matériels supplémentaires). Par ailleurs, on trouve de nombreuses formes de serveurs variées pour des buts d’utilisation différents, par exemple un serveur email, un serveur de jeu ou encore un serveur proxy.

Quelle différence entre serveur Web et hébergement Web ?

Quels rôles jouent les serveurs Web dans l’hébergement Web ? Et qu’est-ce que l’hébergement Web exactement ? Un serveur Web représente par définition une composante fondamentale d’un hébergement Web. La distinction entre les deux n’est toutefois pas toujours facile, notamment pour les plus novices. Ce guide vous permettra de distinguer ces deux notions.

L’hébergement Web se caractérise par le stockage et la mise à disponibilité de contenus Web. Les données d’un site Web sont déposées sur un espace Web défini. Il s’agit en quelque sorte d’un espace de stockage sur un disque dur sur lequel les contenus Web sont stockés. Cette mémoire est liée à un serveur Web, pour que les contenus en ligne soient rendus disponibles (comme un site Internet par exemple).

Un hébergeur ou hôte, c’est-à-dire un ordinateur de serveur Web, ainsi que l’espace Web correspondant s’obtient par le biais d’un hébergeur Web. De nombreux fournisseurs de services Internet tels que IONOS font office d’hébergeurs Web. Si vous vous êtes décidé pour un hébergement autonome lors du choix du fournisseur de service d’hébergement Web, vous devrez le configurer par vous-même. Pour cela, vous aurez besoin d’un programme de serveur Web.

Quels sont les meilleurs logiciels de serveur Web gratuits ?

Il existe de nombreux programmes permettant de configurer un serveur Web. La plupart sont disponibles gratuitement en téléchargement sur Internet. Le serveur Web utilisé doit évidemment être compatible avec le système d’exploitation de l’hébergeur. La plupart des serveurs Web reposent sur UNIX ou sur Linux (Apache, NGINX, Tomcat, etc.) mais souvent aussi sous Windows. Microsoft IIS représente une exception, car il ne fonctionne que sous Windows.

Voici une brève présentation des programmes d’administration de serveurs Web les plus utilisés.

Serveur HTTP Apache

Le serveur HTTP Apache est continuellement développé et amélioré grâce à sa base open source. Ce programme modulaire fonctionne aussi bien avec tous les systèmes d’exploitation, c’est le serveur Web le plus utilisé. Il est très adapté aux contenus Web dynamiques : on peut en effet intégrer du langage script PHP sans problème. Grâce à l’interface CGI, Apache peut exécuter d’autres programmes.

Il est possible de contourner l’installation d’un serveur Web Apache, qui est assez compliquée, en utilisant un ensemble de logiciels XAMPP. De tels ensembles de programmes simplifient en effet fortement l’installation. Ils comportent, en dehors d’Apache, des logiciels de gestion de base de données et de langages script.

Apache Tomcat

Il s’agit d’un programme de serveur open source basé sur un environnement Java. Si vous souhaitez produire des contenus Web avec Java, ce logiciel est très adapté dans la mesure où il propose un conteneur Web. De plus, il peut être incorporé à d’autres serveurs Web (serveur Apache HTTP ou Microsoft IIS) via un connecteur AJP.

NGINX

Ce logiciel gratuit propose plus de fonctions qu’un serveur Web habituel. NGINX propose entre autres aussi un proxy inverse, ce qui permet de réduire la charge sur le serveur et donc de travailler plus rapidement. Ces dernières années, NGINX a beaucoup gagné en popularité.

Microsoft IIS

Le programme Microsoft Internet Information Service (IIS) correspond à un ensemble de logiciels dans lequel on trouve aussi un serveur Web (programme). Auparavant, IIS était un élément intégré système de serveur Windows. Depuis, le programme peut être installé ultérieurement et indépendamment, si besoin, sur quelques systèmes d’exploitation Windows. Le fait que l’on ne puisse utiliser IIS que sur des serveurs basés sous Windows est peu surprenant, mais joue en sa défaveur.

LiteSpeed

Litespeed est un logiciel de serveur Web pour Linux et Unix avec lequel vous avez le choix entre une version open source, une version standard gratuite et une variante pour les entreprises. Le serveur Web Litespeed se caractérise surtout pour sa rapidité de transmission de données. Celle-ci est d’autant plus élevée dans la version professionnelle.

Note

L’administration des programmes de serveurs HTTP s’effectue généralement à distance, depuis un autre ordinateur. L’utilisation d’un logiciel de gestion à distance rend cette tâche particulièrement confortable. Avec Plesk, l’un des outils les plus connus pour l’administration à distance, il est possible de gérer un serveur Web aussi bien depuis un système Linux ou Unix que depuis un ordinateur Windows. Vous pouvez ainsi, par exemple, piloter un serveur Linux depuis un PC Windows à domicile, et inversement.

Comment choisir et configurer un serveur Web ?

Si vous souhaitez créer un serveur Web pour votre projet en ligne, vous avez tout d’abord besoin d’un hébergeur disposant d’un espace (mémoire) suffisant. Une des variantes les plus courantes est la location de ressources d’un serveur chez un fournisseur. Si vous n’avez pas ou presque pas de connaissances en administration de serveur Web, des offres telles qu’un hébergement partagé ou bien un hébergement Cloud avec infogérance peuvent vous permettre de configurer un serveur Web personnalisé.

Au contraire d’un serveur à accès racine (root), avec lequel vous avez tous les droits d’accès mais aussi l’entière responsabilité en termes de sécurité du serveur, l’hébergeur d’une solution Cloud avec infogérance prend en charge une grande partie de l’administration de base. Avec une telle solution, les mises à jour de logiciels et de sécurité sont entre autres prises en charge par le fournisseur de service, mais vous pouvez tout de même configurer votre serveur Web selon vos préférences. Avec un hébergement partagé, vous n’avez pas du tout à vous soucier de mettre à jour vos logiciels et vous avez toutefois accès à l’espace Web mis à disposition par le fournisseur selon ses possibilités de configuration.

Louer un serveur implique généralement une participation financière mensuelle. Le coût dépend de la performance et de la portée des différents composants, comme l’efficacité de l’ordinateur (CPU et RAM), l’espace Web disponible et le type de mémoire du disque dur (SSD ou HDD). Celui qui veut avoir une certaine flexibilité dans l’hébergement de son site Internet devrait opter pour une solution d’hébergement Cloud. Ici, la performance de nombreux composants peut être adaptée à tout moment aux exigences actuelles d’un projet Web quelconque.

La performance requise pour les composants d’hébergement respectifs dépend des demandes de votre projet en ligne : les petits blogs ou cartes de visite en ligne ne nécessitent guère plus d’une offre d’hébergement de faible performance. Les plus grands portails en ligne ou sites Internet avec de nombreux contenus à fort volume utilisent beaucoup plus la performance de certains composants. De plus, un volume de transfert de données plus élevé est nécessaire pour certains types de projets. Pour vous en assurer, vous pouvez réserver un pack avec un forfait de trafic chez la plupart des fournisseurs. Cela garantit un échange de données avec une capacité suffisante.

Lorsque vous avez trouvé le serveur adapté, vous pouvez configurer votre logiciel de serveur Web HTTP de manière adaptée à vos besoins. Toutefois, il y a quelques aspects auxquels il faut tenir compte quant à la sécurité.

Comment sécuriser un serveur Web efficacement ?

Une fois le serveur Web créé et configuré, vous devez veiller à ce que tous les programmes soient à jour. Les versions obsolètes ouvrent la porte aux criminels et aux pirates, et leur permettent dans le pire des cas de prendre le contrôle du serveur. Avec l’hébergement Cloud avec infogérance, le fournisseur Internet s’occupe de toutes les préventions liées à la sécurité. Cela vous incombe dans le cas contraire.

Outre l’actualisation des programmes, un pare-feu propose une protection en cas de cyberattaque. La configuration d’une zone démilitarisée (DMZ) est aussi pertinente. De plus, le Framework Fail2ban peut vous protéger d’accès non autorisés.

En tant qu’administrateur, l’un des principes fondamentaux en matière de sécurité d’un serveur Web consiste à limiter ses fonctions strictement à ce qui est nécessaire. Fermez tous les ports, et laissez les services nécessaires fonctionner. Par ailleurs, l’attribution de mots de passe sûrs fait partie des mesures de prévention fondamentales en termes de sécurité pour la prise en charge d’un serveur. En cas de questions ou bien en cas d’urgence, un service après-vente fiable et qualifié est d’une grande valeur, notamment pour les administrateurs les moins expérimentés.

Si votre hébergeur ne s’occupe pas complètement de la protection de votre serveur, vous avez besoin d’un certain savoir-faire ainsi qu’une compréhension des bases de l’hébergement pour l’entretien de votre serveur. Vous pouvez aussi acquérir ce savoir-faire sur le tas, et dans l’idéal sur un réseau fermé, afin d’éviter tout risque de cyberattaque.

Comment se déroule une requête sur un serveur Web ?

Un serveur Web fonctionne sur le modèle de client de serveur. Par exemple, si vous visitez le site Web de IONOS, vous devez entrer le nom de domaine www.ionos.fr dans votre navigateur (le client). Voici comment se déroule le processus de chargement d’une page Web :

  1. Dès que vous lancez une requête, votre navigateur transmet l’adresse Internet à un serveur de noms (ou DNS, pour Domain Name System). Ce composant du système de noms de domaine agit comme un annuaire global du Web. Il convertit le nom de domaine alphanumérique (par exemple www.ionos.fr) en une adresse IP numérique (comme 217.160.72.6), que le navigateur utilise ensuite pour établir la connexion. Par la suite, le navigateur émet une requête au serveur au sujet des contenus de la page Web en question. Le navigateur Web envoie l’URL de la page Web demandée à l’adresse IP reçue. Il peut ensuite contacter le serveur Web contenant les contenus de la page Web.
  2. Le serveur Web répond à la requête en renvoyant un document de la page Web demandée au navigateur. Par la suite, le navigateur envoie de nouveau une requête au serveur Web, cette fois-ci pour un autre document, à savoir une partie de la page Web demandée. Ce processus se répète jusqu’à ce que tous les éléments de la page Web soient transmis et que cette dernière soit entièrement représentée dans la fenêtre de votre navigateur. Si vous cliquez sur un lien du site Internet de IONOS, une autre page Web sera demandée par le serveur. C’est ainsi que se déclenche le processus de chargement d’une page Web.
Conseil

Chez IONOS, vous pouvez louer votre propre serveur Web à des conditions avantageuses pour une multitude de projets (serveur Web, serveur de messagerie ou application personnelle).

Cet article vous a-t-il été utile ?
Aller au menu principal