Fil d'Ariane
Mis à jour le mercredi 23 août 2017
  • 6 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Les protocoles

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

Rentrons encore plus dans le détail : comment les ordinateurs communiquent entre eux ? Je veux dire, vraiment, au fond, quelle langue parlent-ils entre eux ?

Ils n'utilisent pas les langages dont je vous ai parlés (HTML, CSS...) car ceux-ci servent à représenter les sites web.

Il nous manque en fait une langue permettant aux ordinateurs de communiquer, pour dire par exemple "Eh, peux-tu me donner cette page web ? Merci !". Si on n'avait pas des "langues communes", les ordinateurs parleraient à coup sûr un dialogue impossible :

Sans langue commune, ce serait le bazar dans les communication entre machines !
Sans langue commune, ce serait le bazar dans les communication entre machines !

C'est donc pour ça qu'on a invité des langages de communication pour que les machines se parlent entre elles. On les appelle les protocoles.

Protocoles bas niveau

A la base d'Internet, on a des protocoles de bas niveau. On les retrouve dans toutes les communications :

  • TCP

  • UDP

TCP en particulier est très important. Il a été inventé par Vint Cerf, considéré aujourd'hui grâce à cela comme le père d'Internet. Sans TCP, pas de communication réseau... et Tim Berners-Lee n'aurait jamais pu inventer le Web.

TCP est utilisé pour un peu tout : faire transiter des pages web, des e-mails, des vidéos...

Vint Cerf a inventé le protocole TCP... et est donc considéré comme le père d'Internet !
Vint Cerf a inventé le protocole TCP... et est donc considéré comme le père d'Internet !

Protocoles haut niveau

Les protocoles dits "haut niveau" sont généralement basés sur TCP (ou UDP). Ils forment une surcouche qui englobe TCP.

Les noms des protocoles haut niveau devraient vous être un peu plus familiers pour certains :

  • HTTP : le protocole qui permet d'échanger des pages web entre le client et le serveur. En plus du langage HTML, Tim Berners-Lee a inventé les bases du protocoles HTTP qui permet d'échanger les pages. C'est ce que signifie le "http://" que vous voyez au début des adresses web !

  • HTTPS : identique à HTTP, avec le "S" en plus qui signifie "Secure". Les pages sont chiffrées, pour garantir que personne ne peut les lire (par exemple quelqu'un qui espionnerait les données qui transitent dans les câbles sous-marins !).

  • FTP : permet d'échanger des fichiers.

  • SMTP : permet d'envoyer des e-mails.

  • etc.

Un exemple de protocole : une requête HTTP

Je suis sûr que vous mourez d'envie de voir à quoi ressemble l'une de ces langues. Et si on regardait en particulier une requête avec le protocole HTTP ?

Voici comment un client demande une page web à un serveur :

GET /page.html HTTP/1.0 Host:GET /page.html HTTP/1.0
Host: example.com
Referer: http://example.com/
User-Agent: CERN-LineMode/2.15 libwww/2.17b3 example.com Referer: http://example.com/ User-Agent: CERN-LineMode/2.15 libwww/2.17b3 

On peut traduire ça par : "Hé, toi, le serveur de example.com, peux-tu m'envoyer page.html ?... S'il te plaît ?"

Le serveur va ensuite travailler (en utilisant un langage serveur) puis renvoyer la page HTML avec une réponse comme ceci :

HTTP/1.0 200 OK
Date: Fri, 31 Dec 1999 23:59:59 GMT
Server: Apache/0.8.4
Content-Type: text/html
Content-Length: 59
Expires: Sat, 01 Jan 2000 00:59:59 GMT
Last-modified: Fri, 09 Aug 1996 14:21:40 GMT

... qu'on pourrait traduire par : "Ho ho ho, j'ai bien la page que tu veux, elle fait cette taille et elle a été modifiée pour la dernière fois à cette date". Le serveur transmet ensuite le code HTML de la page.

A vous de jouer !

Je vous propose de vous entraîner à parler avec un serveur web. Vous allez utiliser le protocole HTTP en utilisant des commandes que je vais vous apprendre !

A vous de jouer !

Exemple de certificat de réussite
Exemple de certificat de réussite