Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur. Show 1 IntroductionPour surfer sur le web, l'internaute utilise un navigateur Internet. En fonction de ses clicks ou de ses saisies, le navigateur va appeler des pages contenues sur des serveurs, les récupérer et les afficher. Le serveur attend les connexions et les demandes, il se contente de répondre à la demande en envoyant du contenu. En général, le surf commence par une adresse, que vous l’ayez saisie directement, ou quelle soit le résultat d’un moteur de recherche (qui d’ailleurs est lui aussi lancé par une adresse comme par exemple http://www.google.fr), il vous faut toujours une adresse pour aller quelque part. Pour atteindre un serveur http, c’est pareil : on utilise une adresse. Une adresse Internet est toujours constituée de la façon suivante : protocole://adresse-du-serveur:port/chemin/ressource Cette adresse est appelée URL (Uniform Resource Locator : On pourra traduire cela par un moyen universel de localiser une ressource.). http : C’est le protocole qui va être utilisé par le navigateur pour accéder au serveur et lui adresser ces demandes. Pour que 2 personnes se comprennent, il faut qu’elle parle la même langue. Et bien en informatique, c’est pareil : il faut que le navigateur sache dans quelle langue il doit parler au serveur. Cette langue est appelée protocole. L'acronyme HTTP signifie "Hypertext Transfert Protocol". Il a été invinté par Tim-Berner Lee dans les années 1990. C'est le protocole le plus utilisé sur Internet. La version 1.0 du protocole (la plus utilisée) permet désormais de transférer des messages avec des en-têtes décrivant le contenu du message en utilisant un codage de type MIME. Le but du protocole HTTP est de permettre un transfert de fichiers (essentiellement au format HTML) localisés grâce à une chaîne de caractères appelée URL entre un navigateur (le client) et un serveur Web (appelé d'ailleurs httpd sur les machines UNIX). Ce protocole est un protocole de communication client-serveur et fonctionne sur le principe "requête-réponse". Dans le modèle OSI, le protocole HTTP est un protocole de la couche application. 2 Communication entre navigateur et serveurPour visualiser une page Web sur son navigateur, la communication entre le client (Navigateur) et le serveur (Web) se passe ainsi : Le navigateur(Firefox,Chrome,etc..) envoie une requête HTTP au serveur qui la décode et renvoie une réponse HTTP au navigateur. Cette requête demande un document. (Ex une page HTML, une image ou un fichier CSS,etc...). Le serveur cherche les informations, peut-être amené à interpréter les résultats et envoie la réponse. Cette réponse contient les entêtes du protocole HTTP et le contenu demandé. 3 La requête HTTPUne requête HTTP est un ensemble de lignes envoyé au serveur par le navigateur. Elle comprend :
*Le corps de la requête: c'est un ensemble de lignes optionnelles devant être séparées des lignes précédentes par une ligne vide et permettant par exemple un envoi de données par une commande POST lors de l'envoi de données au serveur par un formulaire 3.1 En-tête HTTP d'une requêteVoici un exemple d'entête de requête envoyé par un navigateur tel que Safari: GET /fichier.html HTTP/1.1[CRLF] Host: www.monsite.com[CRLF] User-Agent: Mozilla/5.0 Safari/531.9[CRLF] [CRLF] GET : c'est pour 'obtenir' une ressource. C'est bien entendu la requête la plus utilisée sur Internet. Il s'agit de la méthode qui doit être appliquée. Il est possible de voir le mot POST. C'est une méthode qui permet d'envoyer le contenu d'un formulaire HTML. Les [CRLF] symbolisent une séquence ASCII [10-13], appelée [Carriage Return - Line feed]. C'est en fait le délimiteur utilisé par le protocole HTTP pour séparer les lignes de l'en-tête. Les lignes suivantes sont des champs HTTP, toujours formatées de cette manière "NomChamps: Valeur". Tout ceci constitue l'en-tête de la requête. Dans certains cas (pour les POST), il peut aussi y avoir un corps (body) pour la requête. 4 La réponse HTTPUne réponse HTTP est un ensemble de lignes envoyées au navigateur par le serveur. Elle comprend:
4.1 En-tête HTTP d'une réponseVoici un exemple d'entête de réponse renvoyé par un serveur Web tel que Apache : HTTP/1.1 200 OK[CRLF] Date: Thu, 24 Sep 2009 19:37:34 GMT[CRLF] Server: Apache/2.2.3[CRLF] Content-Length: 7234[CRLF] Content-Type: text/html; charset=UTF-8[CRLF] [CRLF] [ici se trouve le corps (body) de la réponse] La première ligne de la réponse contient toujours le 'code' HTTP indiquant si la requête a réussi ou pas. Puis, comme pour la réponse, on trouve les lignes des champs HTTP. Tout ceci constitue l'en-tête de la réponse. Ensuite se trouve le corps de la réponse, qui dans le cas d'un GET d'un fichier HTML contient par exemple le code HTML de la page visée. 5 Bibliographie
Quel est le rôle du HTTP ?HTTP est un protocole qui permet de récupérer des ressources telles que des documents HTML. Il est à la base de tout échange de données sur le Web. C'est un protocole de type client-serveur, ce qui signifie que les requêtes sont initiées par le destinataire (qui est généralement un navigateur web).
C'est quoi une requête HTTP ?Une requête HTTP, acronyme de « Hypertext Transfer Protocol » renvoie au protocole HTTP utilisé par le navigateur web pour consulter un site internet. L'ordinateur de l'internaute, via un navigateur, envoie une requête au serveur web, qui lui apporte alors immédiatement une réponse en affichant la page web demandée.
Qu'estRéponse HTTP. Une réponse HTTP est un ensemble de lignes envoyées au navigateur par le serveur. Elle comprend : Une ligne de statut: c'est une ligne précisant la version du protocole utilisé et l'état du traitement de la requête à l'aide d'un code et d'un texte explicatif.
Pourquoi taper HTTP ?Certains sites comme les banques utilisent le protocole HTTPS (Hyper Text transfert protocol sécurised). Ce protocole crypte les échanges d'informations entre le serveur et votre ordinateur. Les navigateurs récents rajoute le nom du protocole automatiquement. Il 'est donc plus nécessaire de le taper.
|