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)

Contents 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 https://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

Contents 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.

Contents 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)

Contents 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.

Contents 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.

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 06/09/2005, last modified the 16/07/2024
Source of the printed document:https://www.gaudry.be/en/reseaux-protocole-http.html?test=valeur

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

Notes
  1.  toile d'araignée : corresponds to “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 more links… HyperText Transfer Protocol : corresponds to « protocole de transfert de document hypertexte » en français

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

  5. a,b Hyper Text Markup Language : corresponds to « 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 : corresponds to « 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 : corresponds to “browsers” en anglais

  10. a,b Uniform Resource Identifier : corresponds to « dentifiant uniforme de ressource » en français

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

  12.  File Transfer Protocol : corresponds to « protocole de transfert de fichiers » en français

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

  14.  passerelle : corresponds to “gateway” en anglais

  15. a,b,c,d Request For Comment : corresponds to « 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 : corresponds to “header” en anglais

Contents Haut