HTTP : HyperText Transfer Protocol

Introduction

Quand vous surfez sur des pages Web à la recherche d'informations ou simplement pour vous divertir, avez-vous bien observé la barre d'adresse de votre navigateur ?

L'adresse de la majorité des pages que vous visitez débute par les lettres suivantes :

http://

“HyperText Transfer Protocol”3 [HTTP], acronyme de "“HyperText Transfer Protocol”3 [HTTP]", est le protocole utilisé pour véhiculer votre demande depuis votre machine vers le serveur sur lequel se trouvent les informations désirées, et inversément du serveur vers votre machine.

Avant de continuer, une petite mise au point s'impose : “HyperText Transfer Protocol”3 [HTTP] n'est pas HTML...

  • “HyperText Transfer Protocol”3 [HTTP] est un protocole destiné à transférer l'information (au départ sous forme de texte).
  • HTML est un langage de présentation de l'information, qui permet entre autre l'utilisation de liens hypertexte.

Définition

HTTP [“HyperText Transfer Protocol”3].

HTTP est un des protocole les plus utilisés lors des communications Web.
Les « navigateurs » (en anglais, “browsers”) utilisent des adresses normalisées (URL [“Uniform Ressource Locator”7]) dans la localisation de la ressource (généralement une page Web) à atteindre.
L'adresse URL est un format de codage universel représenté par une chaine de caractères ASCII.
Cette adresse se décompose de la manière suivante :

  • Nom du protocole :
    http://, ftp://, ldap://, News, Gopher, etc.
  • Nom du serveur :
    www.gaudry.be
  • Numéro de port :
    cette partie est facultative, il s'agit du numéro du service demandé.
    80 pour http, 20 ou 21 pour ftp, etc.
  • Le chemin d'accès à la ressource :
    permet de pointer sur le fichier demandé.

Serveurs HTTP


Les serveurs http les plus répendus sont IIS (Internet Information Server) sous Windows, et Apache dans le monde Unix.

Clients HTTP


Exemples de clients http (navigateurs) :
Statistiques des navigateurs Web pour 2003 :
Novembre 2003 : MSIE : 88% (-4%). Gecko : 7% (+5%).
  • MS Internet Explorer 6.x : 63%
  • MS Internet Explorer 5.x : 24%
  • Netscape : 1%
  • Autres Gecko : 6%
  • MS Internet Explorer 4.x : 1%
  • Opera : 1%

Classement des navigateurs par systèmes :
  • Navigateurs alternatifs sous PC :
    Mozilla Browser, Opera, Konqueror, K-Meleon, Compuserve, Phoenix (FireBird), etc.
  • Navigateurs alternatifs sour Mac :
    Apple Safari, AOL pour Mac OS, Camino, iCab, etc.
  • Navigateurs alternatifs sous Linux :
    Konqueror, SkipStone, Galeon, Epiphany, etc.
  • Navigateurs alternatifs sous FreeBSD :
    Beonex
  • En tout, 115 navigateurs différents, sous plusieurs versions (Evolt)

Inhoudsopgave Haut

Les URI

Une est une adresse qui permet d'identifier une ressource Internet.

Par exemple, l'adresse complète de la page en cours est la suivante :

http://www.gaudry.be/glossaire/definition-brol.html

Mais nous pouvons décomposer l'adresse en une série d'éléments :

  • http est le protocole utilisé pour accéder à la ressource
  • www.gaudry.be est le nom de domaine qui permet d'éviter l'emploi d'une adresse IP pour localiser le serveur où sont stockées les informations.
  • glossaire est le répertoire dans l'espace qui correspond au site sur le serveur.
  • definition-brol est le nom du document
  • html est l'extension du document

Remarques

  • Si vous introduisez l'adresse http://www.gaudry.be dans votre navigateur, sans préciser de nom de document à afficher, une page se présent à vous. Ceci est dû au fait que le serveur est paramétré pour utiliser une page index.html (ou avec l'extension php, php3, asp, htm, etc), ou encore default.htm si aucun document bien précis n'est demandé.
  • Si vous oubliez de spécifier le type de protocole à utiliser (“HyperText Transfer Protocol”3 [HTTP], FTP, news, etc.), votre navigateur utilisera probablement “HyperText Transfer Protocol”3 [HTTP] à votre place car il s'agit du protocole le plus utilisé avec les navigateurs.
  • La syntaxe peut comporter d'autres éléments, tels que le numéro de port. Exemple : http://10.190.192.31:80/index.asp

Inhoudsopgave Haut

Généralités sur le protocole HTTP

  • “HyperText Transfer Protocol”3 [HTTP] est utilisé par le World Wide Web depuis à peu près 1990.
  • La version actuelle du protocole est la version HTTP/1.1, mais HTTP/1.0 reste cependant fort répendu
  • Le protocole “HyperText Transfer Protocol”3 [HTTP] est un protocole requête/réponse, ou encore client/serveur
  • Différents intermédiaires peuvent se présenter entre le client et le serveur :
    • Un proxy, qui se charge de reformater, puis de retransmettre la requête vers le serveur
    • Une « passerelle » (en anglais, “gateway”), qui effectue si nécessaire, la traduction entre les différents protocoles
    • Un tunnel, qui agit comme point relais entre deux connexions, sans interprêter ni modifier le message transporté
    • Le port TCP utilisé pour le protocole “HyperText Transfer Protocol”3 [HTTP] est le port 80.
  • Le protocole “HyperText Transfer Protocol”3 [HTTP] a été défini pour transmettre du texte en caractères ASCII (7 bits), et ne prévoyait pas de transmettre d'autres éléments. Il faudra donc penser à un moyen de coder l'information pour la transmettre, et un moyen de déterminer quel est le type d'information (MIME TYPE).

La spécification “HyperText Transfer Protocol”3 [HTTP] paraît sous la forme de Requests for Comments (RFCs) :

  • RFC 1945 “HyperText Transfer Protocol”3 [HTTP]/1.0
  • RFC 2616 (Mise à jour de RFC 2068) “HyperText Transfer Protocol”3 [HTTP]/1.1

Comme le format des messages “HyperText Transfer Protocol”3 [HTTP] similaire à celui utilisé dans la messagerie Internet, vous pouvez aussi consulter le RFC 1521.

Inhoudsopgave Haut

Transaction HTTP

Les messages “HyperText Transfer Protocol”3 [HTTP] sont lisibles pour un être humain, en anglais.

La pluspart des messages “HyperText Transfer Protocol”3 [HTTP] comportent :

  • Une ligne de réponse ou de requête
  • Zéro ou plus lignes d'« en-tête » (en anglais, “header”)
  • Une ligne blanche (CR/LF)

Inhoudsopgave Haut

HTTP/1.0

  • GET : commande qui permet d'envoyer par le biais de l'URL des données au serveur.
    Exemple : reseaux-protocole-http.html?test=valeur#h10
    La valeur passée est "valeur", et "#h10" est la partie que l'on doit atteindre dans la page.
    Attention que la taille des données à transmettre est limitée par la taille des URL.
  • POST : commande qui permet d'envoyer des données au serveur, généralement par l'intermédiaire d'un formulaire. Les données ne sont pas visibles dans l'URL, et la taille maximum est beaucoup plus importante.
  • HEAD : commande qui permet de ne demander au serveur que l'en-tête, sans le document.

Inhoudsopgave Haut

HTTP/1.1

“HyperText Transfer Protocol”3 [HTTP]/1.1 propose quelques commandes supplémentaires, comme :

  • OPTIONS : commande qui permet de demander au serveur quelles sont les options disponibles.
  • TRACE : commande de débogage.
  • DELETE : commande qui permet de détruire un fichier sur le serveur.
  • PUT : commande qui permet d'écrire des fichiers sur le serveur.

Pour des raisons de sécurité, les commandes PUT et DELETE sont désactivées.

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 06/09/2005 gemaakt, de laatste keer de 17/08/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/reseaux-protocole-http.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.

Notes

  1.  toile d'araignée : komt overeen met “web” en anglais

  2.  Web : World Wide Web WWW est un acronyme récursif de World Wide Web, car les définitions de « toile d'araignée »1

  3. a,b,c,d,e,f… 30 meer links… HyperText Transfer Protocol : komt overeen met « protocole de transfert de document hypertexte » en français

  4. a,b,c,d,e,f… 12 meer links… HTTP : “HyperText Transfer Protocol” (en français, « protocole de transfert de document hypertexte »)

  5. a,b Hyper Text Markup Language : komt overeen met « Langage de balisage d'hypertexte » en français

  6. a,b HTML : “Hyper Text Markup Language” (en français, « Langage de balisage d'hypertexte »)

  7. a,b,c,d,e Uniform Ressource Locator : komt overeen met « localisateur uniforme de ressource » en français

  8. a,b,c,d URL : “Uniform Ressource Locator” (en français, « localisateur uniforme de ressource »)

  9.  navigateurs : komt overeen met “browsers” en anglais

  10. a,b Uniform Resource Identifier : komt overeen met « dentifiant uniforme de ressource » en français

  11.  URI : “Uniform Resource Identifier” (en français, « dentifiant uniforme de ressource »)

  12.  File Transfer Protocol : komt overeen met « protocole de transfert de fichiers » en français

  13.  FTP : “File Transfer Protocol” (en français, « protocole de transfert de fichiers »)

  14.  passerelle : komt overeen met “gateway” en anglais

  15. a,b,c,d Request For Comment : komt overeen met « demande de commentaires » en français

  16. a,b,c,d RFC : “Request For Comment” (en français, « demande de commentaires ») Documents décrivant les standards utilisés sur Internet, qui ne sont publiés qu'àprès avoir été soumis aux remarques

  17.  en-tête : komt overeen met “header” en anglais

Inhoudsopgave Haut