The Art of Internet
5XWEB-1

Quelques notions spécifiques
1 . Le protocole HTTP
Que signifie HTTP ?
Conçu au début des années 1990, le protocole HTTP ( « Hypertext Transfert Protocol » qui veut dire « Protocole de transfert hypertexte ») établit les règles qui gouvernent le transfert de divers types de fichiers (textes, images, sons, vidéos, …) sur le Web.
Lorsqu’un utilisateur se connecte au Web et ouvre un navigateur, il utilise ce protocole de manière indirecte.
Qu’est-ce que le protocole HTTP (en pratique) ?
Le HTTP suit un schéma de requête-réponses entre un client et un serveur. Toutes les actions de l’utilisateur, comme entrer une URL ou cliquer sur un lien, sont converties en une requête HTTP vers le serveur. Le serveur renvoie ensuite un message de réponse au client, affichant le résultat de la requête dans le navigateur de l’utilisateur.
Le HTTP ne conserve aucune information sur les connexions précédentes -> ce qui le qualifie de protocole sans état. Cependant, le développement d’applications web nécessite souvent le maintien de l’état, c’est pour quoi nous utilisons des cookies. Ceux-ci sont des données que le serveur peut stocker sur le système du client, permettant ainsi aux applications web de suivre les utilisateurs et leur activité en ligne.
Anatomie requête et réponse HTTP

Premièrement, la requête HTTP est le message que l’ordinateur envoie à un autre en utilsant HTTP.
La requête est divisée en trois partie :
-
La ligne de requête
-
L’en-tête
-
Le corps
1. La ligne de requête :
Se compose elle-même de trois éléments :
-
La méthode HTTP qui spécifie l’action que le client souhaite effectuer (lire une ressource, envoyer des données à l’API, …)
-
L’URI qui pointe vers l’emplacement de la ressource
-
Le protocole HTTP qui indique la version du protocole à utiliser
2. L’en-tête :
Les en-têtes sont des données supplémentaires incluses dans la requête pour offrir des détails à son sujet. Chaque en-tête est défini par un nom, suivi de deux-points et de la valeur correspondante. L’en-tête de la requête peut inclure plusieurs en-têtes différentes.
3. Le corps de la requête :
Le contenu de la requête englobe des données supplémentaires transmises au serveur. Cela peut inclure des éléments tels que le nom d’utilisateur et le mot de passe pour une connexion, les réponses fournies dans un formulaire, et diverses autres informations.
En résumé, le corps de la requête représente l’ensemble des données envoyées au serveur.
Ensuite, il y a la réponse HTTP qui est aussi separée en trois parties :
-
La ligne d’état
-
L’en-tête
-
Le corps
1. La ligne d’état :
Indique le statut de la requête, si elle a réussi ou si une erreur est survenue (le message d’erreur le plus connu est « 404 not found »).
2. L’en-tête :
C’est un ensemble d’en-têtes (comme pour la requête), le serveur peut en envoyer autant qu’il le veut.
3. Le corps de la réponse :
(Comme pour la requête) Contient toutes les données transmises au client et permet d’afficher du contenu HTML dans le navigateur.
Les préoccupations de sécurité liées à HTTP
Le protocole HTTP est très pratique mais son plus gros problème est sa sécurité. Malheureusement ce protocole ne garantit pas la sécurité pour plusieurs raisons :
-
La sécurité des données est une préoccupation majeure car n’importe qui peut altérer le contenu, car le protocole HTTP ne chiffre pas les données, contrairement au HTTPS qui utilise un certificat SSL pour la protection.
-
Etant un protocole ancien, HTTP est vulnérable aux hackers et aux cybercriminels qui ont eu suffisamment de temps pour découvrir ses failles et développer des attaques telles que l’Attaque par l’homme du milieu ou exploiter les failles XSS des sites web.
-
HTTP ne propose pas les fonctionnalités de sécurité modernes de base que l’on trouve dans les protocoles mis à jour et outils de sécurité.
-
Enfin, HTTP n’assure pas la confidentialité des informations, car son contenu est visible pour tout le monde.

Comment surmonter ses failles de sécurité ?
Il est possible d’améliorer notre cybersécurité et de surmonter les failles du HTTP de plusieurs manières :
-
Eviter autant que possible des sites en HTTP : si un site manipulant des données sensibles (transactions financières) utilise HTT, il ne prend pas suffisamment en compte votre sécurité. Le protocole HTTPS permet d’atteindre les memes objectifs de manière sécurisée grâce au chiffrement des informations. Cependant, il ne résout pas tous les problèmes de sécurité, contrairement à un VPN.
-
Utiliser un VPN : Bien qu’un VPN ne nous protège pas contre les attaques qui compromettent la sécurité du HTTP lors de son acheminement vers votre appareil. Certains VPN proposent également des fonctionnalités de protection anti-menaces qui nous aide à nous défendre contre certaines des attaques auxquelles HTTP est vulnérable.
-
Utiliser des extensions de navigateur sécurisées : Il existe de nombreuses extensions de navigateur qui peuvent renforcer notre sécurité en ligne. En fait, certaines sont conçues pour contraindre les sites web compatibles HTTPS à utiliser ce protocole chiffré dès que c’est possible.
2. Le protocole HTTPS
Qu'est-ce que le HTTPS ?
Le protocole HTTPS (HyperText Transfert Protocol Secure) est une version sécurisée du protocole HTTP. Le « S » dans HTTPS signifie « sécurisé », indiquant que les données échangées entre le navigateur de l’utilisateur et le site web sont cryptées, assurant ainsi la confidentialité et l’intégrité des données. L’obtention du « S » implique d’acquérir et d’installer un certificat SSL/TLS auprès d’une Autorité de Certification reconnue. Une fois cela fait, le navigateur affichera le HTTPS, un cadenas vert et le mot « sécurisé » dans la barre d’adresse.
Les différents niveaux d'authentification
Il y a trois niveaux d’authentification pour l’émission de certificats permettant l’affichage du HTTPS :
-
La validation du domaine (DV), considérée comme une authentification du niveau faible
-
La validation d’organisation (OV), authentification du niveau supérieur
-
La validation étendue (EV), garantissant une authentification renforcée
Le certificat

La durée de validité d’un certificat varie généralement entre 90 jours et 1 an, mais est souvent fixée à 3 mois. Elle permet le renouvellement automatique de la clé privée et du certificat.
La méthode de fonctionnement
Le protocole fonctionne de manière similaire au protocole HTTP habituel du web, mais intègre un élément additionnel appelé TLS, opérant selon les étapes suivantes :
-
Le client établit un contact avec un serveur, tel que Wikipédia, et demande une connexion sécurisée en présentant diverses méthodes de chiffrement de la connexion, appelées suites cryptographiques.
-
Le serveur répond en confirmant sa capacité à dialoguer de manière sécurisée et en choisissant une méthode de chiffrement parmi celles proposées. Il produit également un certificat attestant qu’il est effectivement le serveur en question et non un serveur pirate déguisé (on parle de l’attaque de l’homme du milieu).
-
Ces certificats électroniques sont délivrés par une autorité tierce, une autorité de certification, en laquelle le client et le serveur ont choisi de placer leur confiance, de manière similaire à la confiance accordée à un notaire dans la vie courante. Le client peut vérifier l’authenticité du certificat présenté par le serveur grâce à la signature apposée par cette autorité sur le certificat. Le client s’assure également que le certificat n’est pas périmé et éventuellement que l’autorité de certification ne l’a pas révoqué.
-
Le certificat contient également une clé publique permettant de chiffrer un message pour le rendre secret. Ce message ne peut être déchiffré que par le serveur grâce à une clé privée qui lui est propre. Cela correspond au chiffrement asymétrique.
-
Cela permet au client d’envoyer de manière secrète un code aléatoire qu’il génère, appelé une clé symétrique ou clé de session. Cette clé est mélangée à tous les échanges entre le serveur et le client, assurant que l’intégralité du contenu de la communication est chiffré. Pour ce faire, le contenu est combiné avec le code, créant un message indéchiffrable. Lors de la réception, l’opération inverse est effectuée sur ce message, le ramenant au contenu en clair.
En bref :
Le serveur et le client s’identifient mutuellement, sélectionnent une méthode de chiffrement pour sécuriser la communication, puis échangent de manière chiffrée un code (clé de chiffrement symétrique) afin de dialoguer de manière confidentielle.
HTTPS et piratage
L’algorithme de chiffrement et le certificat d’authentification du site sont les éléments clés qui assurent la sécurité des informations transmises via le protocole HTTPS.
3. Le navigateur web
Qu'est-ce qu'un navigateur web ?
Il s’agit d’un logiciel largement disponible et souvent gratuit utilisé pour consulter des pages Internet. Il permet d’accéder à des contenus variés tels que textes, images, vidéos, liens, et autres fonctionnalités présentes sur un site web. On utilise généralement un navigateur web, aussi appelé « browser » en anglais, sur différents types d’appareils pour accéder à ces contenus.
Les navigateurs web les plus courants
Les navigateurs les plus couramment utilisés sont :
-
Chrome
-
Mozilla
-
Firefox
-
Safari
-
Microsoft Internet Explorer et Edge
-
Opera

Qu’est-ce que le concept d’hypertexte ?
Le concept d’hypertexte implique l’ajout de références à la navigation, généralement sous forme de liens hypertextes. Au fil du temps, les navigateurs ont élargi leur éventail de fonctionnalités pour inclure des fichiers audios ou encore des fichiers PDF, etc.
Fonctionnement d’un navigateur web : Un aperçu technique
-
Lorsque vous saisissez une URL dans votre navigateur, celui-ci envoie une demande de page au serveur correspondant. Le serveur répond en renvoyant le contenu sous forme de code HTML, d’images et d'autres ressources, chaque ressource étant identifiée de manière unique par un URI (Uniform Resource Identifier). Ensuite, le navigateur interprète le contenu en suivant les spécifications contenues dans les fichiers HTML et CSS, nous permettant ainsi de visualiser et d'utiliser le site Web sur notre écran comme d’habitude.
-
Sur le plan technique, différents composants du navigateur travaillent ensemble pour afficher toutes les sources. En premier lieu, se trouve le moteur de rendu, l'élément central du navigateur web (le logiciel qui trace du texte et des images à l’écran).
-
Le moteur de rendu, au cœur du navigateur web, est essentiel pour la présentation des contenus. Il peut afficher des fichiers et des images en HTML et XML, ainsi que d'autres ressources avec des plugins appropriés. Lorsqu'un fichier HTML est demandé, le moteur de rendu l'analyse en convertissant les données HTML en un format que le navigateur peut traiter. Il crée la structure DOM (Document Object Model), représentant la structure du contenu des balises, ainsi que la structure de rendu, incluant les couleurs et la mise en page.
-
La structure de rendu est traitée par le backend de l'interface utilisateur, permettant de visualiser le site Web (processus souvent appelé "painting"). L'interface utilisateur (UI) représente ce que l'utilisateur voit finalement à l'écran.
-
En plus du backend de l'interface utilisateur, un autre module gère les appels réseaux via les protocoles courants tels que HTTP. Un interpréteur JavaScript analyse et exécute le code JavaScript. Une mémoire de données est également fournie comme composant persistant, stockant les cookies, l'historique du navigateur et le cache local sur l'ordinateur. Cette mémoire est traitée en HTML sous la forme d'une base de données Web dans le navigateur.
-
Le rendu dans le navigateur peut varier en fonction du navigateur utilisé. Les éléments du navigateur comprennent des équipements de base tels que la barre d'adresse pour la saisie de l'URL, des boutons de navigation, un bouton pour accéder à la page d'accueil du navigateur et des fonctions de création de signets.
-
Finalement, les navigateurs modernes comme Firefox, Safari et d'autres offrent des fonctionnalités supplémentaires telles que l'organisation de signets, la sauvegarde des mots de passe, le mode incognito (ou "navigation privée") qui ne laisse aucune trace sur l'appareil et diverses mesures de sécurité telles que la protection contre le hameçonnage, les logiciels malveillants et les bloqueurs de publicité. Cependant, il est important de noter que ces fonctionnalités ne remplacent pas une protection antivirus complète, qui est essentielle pour la sécurité de tout appareil.

4. Le serveur web
Qu'est-ce qu'un serveur web ?
Le terme « serveur web » peut désigner soit des éléments logiciels, soit des éléments matériels, soit une combinaison de ces deux types d'éléments :
-
En ce qui concerne les éléments matériels : un serveur web correspond à un ordinateur qui stocke les divers fichiers constituant un site web tels que les documents HTML, les images, les feuilles de style CSS et les fichiers JavaScript. Il transmet ces fichiers à l'appareil de l'utilisateur visitant le site. Cet ordinateur est connecté à Internet et est généralement accessible via un nom de domaine.
-
Concernant les éléments logiciels : un serveur web comporte plusieurs composants qui régissent l'accès des utilisateurs aux fichiers hébergés. Au minimum, il inclut un serveur HTTP, un logiciel qui gère les URL et le protocole HTTP (celui utilisé par les navigateurs pour afficher les pages web).
Explication rapide de son fonctionnement :
Chaque fois qu'un navigateur nécessite un fichier stocké sur un serveur web, il envoie une requête pour obtenir ce fichier via le protocole HTTP.
Lorsque cette requête parvient au serveur web approprié (l'élément matériel), le serveur HTTP (le logiciel) renvoie alors le document demandé, toujours par le biais du protocole HTTP.
A quoi sert un serveur web ?
Les serveurs web exercent trois fonctions principales :
-
Héberger plusieurs sites web ou applications web : Les serveurs web permettent l'hébergement de multiples sites internet ou applications web, les rendant accessibles via Internet.
-
Traiter les demandes de Protocole de transfert de fichiers (FTP) : Ils gèrent les requêtes liées au Protocole de transfert de fichiers (FTP), facilitant le transfert de fichiers entre le serveur et d'autres dispositifs.
-
Envoyer et recevoir des e-mails : Les serveurs web sont également impliqués dans la réception et l'envoi d'e-mails.
L'essentiel des caractéristiques et des fonctions d'un serveur web est axé sur la création et le maintien d'un environnement propice à l'hébergement. Si on souhaite créer et diffuser un site web, l'accès à un serveur web est essentiel. Opter pour un hébergeur de sites constitue souvent la manière la plus pratique de procéder.

Web statique ou web dynamique ?
Pour publier un site web, un serveur web statique ou dynamique est essentiel :
-
Un serveur web statique, également appelé pile, se compose d'un ordinateur (élément matériel) et d'un serveur HTTP (élément logiciel). Il est qualifié de « statique » car le serveur transmet les fichiers hébergés « tels quels » au navigateur.
-
D'un autre côté, un serveur web dynamique comprend d'autres composants logiciels, parmi lesquels on retrouve souvent un serveur d'applications et une base de données. Il est nommé « dynamique » parce que le serveur d'applications actualise les fichiers hébergés avant de les transmettre au navigateur via HTTP. Par exemple, pour générer la page web affichée dans votre navigateur, le serveur d'applications utilise un modèle HTML et l'enrichit avec des données. Ainsi, des sites comme MDN ou Wikipédia possèdent des milliers de pages, mais il n'y a pas un document HTML distinct pour chacune de ces pages. En réalité, quelques modèles HTML, également appelés gabarits, sont utilisés en conjonction avec une vaste base de données. Cette organisation permet de fournir plus efficacement le contenu et de maintenir le site de manière optimale
Héberger des fichiers
Un serveur web doit conserver les fichiers essentiels au bon fonctionnement du site web, incluant tous les documents HTML ainsi que les ressources associées telles que les images, les fichiers JavaScript, les feuilles de style, les fichiers de police, les vidéos, et autres.
D'un point de vue technique, il serait parfaitement envisageable de stocker tous ces éléments sur son propre ordinateur. Cependant, il est nettement plus pratique d'utiliser un serveur web spécialement conçu à cet effet.
En effet, ce serveur doit toujours être opérationnel, connecté en permanence à Internet, maintenir une adresse IP constante dans le temps (ce qui n'est pas garanti par tous les fournisseurs d'accès pour les particuliers), et être géré par un prestataire externe.
Choisir un hébergeur
Il est essentiel de sélectionner un hébergeur adéquat pour votre site web. Prenez le temps d'examiner les différentes offres disponibles afin de choisir celle qui correspond le mieux à vos besoins et à votre budget, ce dernier pouvant varier de 0 € à plusieurs milliers d'euros par mois en fonction des exigences.
Une fois que vous avez identifié l'hébergeur approprié ainsi que la solution d'hébergement qui vous convient, il vous suffira de transférer vos fichiers vers le serveur web.
Les avantages d’avoir un hébergeur web
L'hébergement web est un service qui octroie à votre site web un espace serveur pour stocker ses fichiers, scripts et bases de données. Outre cela, le fournisseur d'hébergement web veille à ce que les serveurs fonctionnent sans encombre. Cette responsabilité inclut la réalisation de sauvegardes, la mise en cache, la surveillance de la sécurité et la maintenance générale. D'où l'importance de choisir un hébergeur fiable.
Voici quelques-uns des avantages majeurs d'avoir un hébergeur web pour surveiller et maintenir le serveur web hébergeant votre site internet :
-
Disponibilité et performances optimales : L'hébergeur web s'occupe de la maintenance matérielle et des mises à jour logicielles, contribuant ainsi à améliorer les performances et la disponibilité du site web.
-
Serveurs sécurisés : Les hébergeurs web mettent en place des protocoles de sécurité efficaces pour réduire les vulnérabilités et protéger les sites hébergés contre les logiciels malveillants ou les cyberattaques.
-
Diversité des options de plans d'hébergement : Les propriétaires de sites peuvent choisir un plan d'hébergement web adapté à leurs besoins, avec différentes caractéristiques et fonctionnalités.
-
Rentabilité : Les propriétaires de sites n'ont pas à gérer un serveur dédié, pouvant plutôt opter pour un plan d'hébergement qui fournit la quantité nécessaire de ressources serveur.
-
Flexibilité : Les hébergeurs web proposent des plans évolutifs permettant aux propriétaires de sites web d'obtenir des ressources d'hébergement supplémentaires en fonction de leurs besoins, que ce soit en termes de stockage ou de bande passante."
Les fonctionnalités d'un serveur web
En plus de prendre en charge les protocoles HTTP pour gérer les demandes et les réponses entrantes, la plupart des serveurs web proposent les fonctionnalités standard suivantes :
-
Journalisation des fichiers : Les fichiers journaux enregistrent tous les événements ou les actions que les serveurs web effectuent, comme les requêtes, les aspects liés à la sécurité et les erreurs. Chaque fois qu'un serveur web reçoit une nouvelle requête, une ligne de texte est ajoutée au journal.
-
Authentification : Beaucoup de serveurs offrent cette fonctionnalité pour autoriser l'accès partiel ou complet aux ressources d'un site web. Les mécanismes d'authentification incluent souvent des demandes d'autorisation, nécessitant un nom d'utilisateur et un mot de passe.
-
Limitation de la bande passante : La bande passante d'un serveur web représente la quantité de données qu'il peut transférer ou traiter à un moment donné. La limitation de la bande passante contrôle la vitesse des réponses afin d'éviter la saturation du réseau et garantir une livraison fluide des fichiers.
-
Espace de stockage : Il indique la quantité d'espace disque disponible pour le stockage des fichiers. Cela détermine si un serveur web est en mesure d'héberger un site internet spécifique en fonction de ses besoins en stockage.
Résumé de la notion du serveur web
Un serveur web représente un ordinateur dédié au stockage, au traitement et à la distribution de fichiers de sites web. Il se compose d'un volet matériel et d'un volet logiciel (serveur HTTP), chacun jouant un rôle distinct dans le traitement des fichiers.
En outre, divers types de serveurs web ont la capacité de fournir soit un contenu dynamique, soit un contenu statique à un navigateur. Quel que soit le type, les serveurs web proposent des fonctionnalités standard, telles que :
-
Journalisation des fichiers
-
Authentification
-
Limitation de la bande passante
-
Espace de stockage
Leur rôle principal réside dans l'hébergement de sites web, le traitement des requêtes HTTP et la mise à disposition de contenu web aux utilisateurs. Ainsi, pour rendre votre site web accessible en ligne, vous avez besoin soit de posséder votre propre serveur, soit d'opter pour un service d'hébergement web.
En choisissant cette dernière option, un hébergeur prendra en charge le serveur, garantissant sa sécurité et ses performances. Cela vous libère du temps pour vous concentrer sur d'autres aspects de la croissance de votre entreprise et de votre site web.
Sources de la page
- Source informations protocole HTTP : https://nordvpn.com/fr/blog/protocole-http/
- Source informations protocole HTTP : https://www.lemagit.fr/definition/HTTP
- Source illustration protocole HTTP : https://fr.freepik.com/vecteurs-libre/www-concept-illustration_8426454.htm#query=http&position=0&from_view=search&track=sph
- Source illustration différence entre HTTP et HTTPS : https://as1.ftcdn.net/v2/jpg/04/71/87/56/1000_F_471875645_txcecI0McCZu4YqWR3SjMPoxY5vyvG8L.jpg
- Source informations protocole HTTPS : https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure
- Source illustration protocole HTTPS : https://fr.freepik.com/vecteurs-libre/illustration-ssl-design-plat-dessine-main_21902028.htm#query=http%20et%20https&position=4&from_view=search&track=ais
- Source informations et illustration navigateur web : https://www.ionos.fr/digitalguide/sites-internet/developpement-web/quest-ce-quun-navigateur-web/
- Source informations navigateur web : https://www.avast.com/fr-fr/c-what-is-a-web-browser?redirect=1
- Source illustration navigateurs web : https://fr.freepik.com/vecteurs-libre/3d-navigateur-web-icon_808239.htm#query=navigateur%20web&position=44&from_view=search&track=ais
- Source informations serveur web : https://www.hostinger.fr/tutoriels/serveur-web
- Source informations serveur web : https://developer.mozilla.org/fr/docs/Learn/Common_questions/Web_mechanics/What_is_a_web_server
- Source illustration serveur web : https://fr.freepik.com/vecteurs-libre/illustration-du-concept-hebergement-nuage_6183220.htm#query=serveur%20web&position=17&from_view=search&track=ais