The manual Page
English version
accueil | glossaire | downloads | liens ]
 

HTTP/0.9

Principe

HTTP/0.9 est la première version du protocole HTTP. Cette version été écrite pour répondre aux exigences fixées par Tim Berners-Lee quant au transport et à l'acheminement des pages HTML au CERN. Il implémentait donc des requêtes extrèmement simples, à savoir uniquement l'obtention d'un document (méthode GET) ! On ne peut a priori rien faire d'autre que demander des documents, il est impossible d'envoyer des informations "personnelles" aux serveurs.

Pourquoi HTTP/0.9 ? En fait, lorsque Tim Berners-Lee a inventé ce protocole, il n'avait pas de numéro de version. Ce n'est que lorsque HTTP/1.0 (première version du protocole définie correctement par une RFC) que la première version a été baptisée HTTP/0.9.

Exemple de requête HTTP/0.9

Les requêtes avec HTTP/0.9 ressemblent à celle-ci :

GET http://www.themanualpage.org/http/hello.txt

Hello

L'information demandée arrive tout de suite sans préavis, et la connexion est coupée immédiatement après par le serveur.

En HTTP/0.9, une seule méthode est implémentée : GET. Tout se fait avec cette méthode, y compris l'envoi d'informations vers le serveur (l'URI de la reqête ressemble à ceci : http://www.foo.bar/url?var1=foo ; ce qui suit le "?" signifie "la variable var1 vaut 'foo'").

Avantages de HTTP/0.9

HTTP/0.9 a toutefois certains avantages indéniables : il est indépendant de la couche transport (niveau 4 : TCP ou UDP...), et permet en fait de transporter toute sorte de documents. HTTP/0.9 est tout ce qu'il y a de plus simple.

Limitations

HTTP/0.9 évidemment présente certaines limitations qui seront comblées en grande partie avec la version HTTP/1.0, puis HTTP/1.1.

Le premier inconvénient est que la connexion entre le client et le serveur est fermée par le serveur dès qu'il a répondu à une requête. Conséquences :

  • le client doit ouvrir une connexion pour chaque document à récupérer, y compris les images contenus dans les pages HTML. Sur une page contenant 3 images, il faut ouvrir 4 connexions. L'ouverture et la fermeture de connexion est un processus lent.
  • l'utilisateur attend donc...
  • le réseau est saturé par les requêtes d'ouverture de connexions
  • les navigateurs ouvrent donc plusieurs connexions simultanées (jusqu'à 4 pour Netscape), ce qui sature le réseau, mais aussi le serveur.

HTTP/0.9 ne sait pas non plus gérer les caches. Les transports de documents ne sont donc pas optimisés.

L'envoi d'informations concernant l'utilisateur ne se fait que par la méthode GET, ce qui limite la capacité d'envoi des informations, et qui plus est, les informations envoyées figurent dans l'URL de la ressource demandée, donc pas tellement de confidentialité.

En cas d'erreurs, l'utilisateur est prévenu (il voit une page web "bizarre" que lui renvoit le serveur), mais le navigateur ne l'est pas, car il n'interprète pas le contenu des pages.

Améliorations

L'amélioration est fournie par HTTP/1.0.

Référence

La RFC :

  • RFC1123 : Requirements for Internet Hosts -- Application and Support

format imprimable format imprimable



Copyright © 2000-2006 themanualpage.org - Ce site est soumis aux conditions décrites dans les licences GNU GPL et FDL.