Vous êtes sur la page 1sur 52

Programmation du Web : Pr esentation du protocole HTTP

Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr)


IUT de Dijon-Auxerre - LE2I

http://jb.vioix.free.fr

1-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

Le protocole HTTP (Hypertext Transfer Protocol ) est un protocole de communication qui a et e d evelopp e pour le web. Di erents logiciels utilisent HTTP :
di erents logiciels clients comme les navigateurs web, les robots dindexation, les aspirateurs de site. . . les logiciels serveurs peuvent etre Apache, IIS. . .

La liaison entre le client et le serveur peut etre direct ou via un serveur mandataire (proxy ), une passerelle (gateway ),. . .

http://jb.vioix.free.fr

2-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

Le protocole HTTP (Hypertext Transfer Protocol ) est un protocole de communication qui a et e d evelopp e pour le web. Di erents logiciels utilisent HTTP :
di erents logiciels clients comme les navigateurs web, les robots dindexation, les aspirateurs de site. . . les logiciels serveurs peuvent etre Apache, IIS. . .

La liaison entre le client et le serveur peut etre direct ou via un serveur mandataire (proxy ), une passerelle (gateway ),. . .

http://jb.vioix.free.fr

2-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

Le protocole HTTP (Hypertext Transfer Protocol ) est un protocole de communication qui a et e d evelopp e pour le web. Di erents logiciels utilisent HTTP :
di erents logiciels clients comme les navigateurs web, les robots dindexation, les aspirateurs de site. . . les logiciels serveurs peuvent etre Apache, IIS. . .

La liaison entre le client et le serveur peut etre direct ou via un serveur mandataire (proxy ), une passerelle (gateway ),. . .

http://jb.vioix.free.fr

2-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

Le protocole HTTP (Hypertext Transfer Protocol ) est un protocole de communication qui a et e d evelopp e pour le web. Di erents logiciels utilisent HTTP :
di erents logiciels clients comme les navigateurs web, les robots dindexation, les aspirateurs de site. . . les logiciels serveurs peuvent etre Apache, IIS. . .

La liaison entre le client et le serveur peut etre direct ou via un serveur mandataire (proxy ), une passerelle (gateway ),. . .

http://jb.vioix.free.fr

2-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

Le protocole HTTP (Hypertext Transfer Protocol ) est un protocole de communication qui a et e d evelopp e pour le web. Di erents logiciels utilisent HTTP :
di erents logiciels clients comme les navigateurs web, les robots dindexation, les aspirateurs de site. . . les logiciels serveurs peuvent etre Apache, IIS. . .

La liaison entre le client et le serveur peut etre direct ou via un serveur mandataire (proxy ), une passerelle (gateway ),. . .

http://jb.vioix.free.fr

2-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

La premi` ere version du protocole etait tr` es simple : le client se connecte et demande une ressource (GET), le serveur lui repond, la connexion est ferm ee. Aucune autre donn ee nest envoy ee ou re cue. HTTP 1.0 (puis HTTP 1.1) on et e cr ees pour enrichir les possibilit es de ce protocole. Plusieurs requ etes sont possibles, des donn ees compl ementaires peuvent etre envoy ees par le client ou par le serveur.

http://jb.vioix.free.fr

3-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

La premi` ere version du protocole etait tr` es simple : le client se connecte et demande une ressource (GET), le serveur lui repond, la connexion est ferm ee. Aucune autre donn ee nest envoy ee ou re cue. HTTP 1.0 (puis HTTP 1.1) on et e cr ees pour enrichir les possibilit es de ce protocole. Plusieurs requ etes sont possibles, des donn ees compl ementaires peuvent etre envoy ees par le client ou par le serveur.

http://jb.vioix.free.fr

3-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

La premi` ere version du protocole etait tr` es simple : le client se connecte et demande une ressource (GET), le serveur lui repond, la connexion est ferm ee. Aucune autre donn ee nest envoy ee ou re cue. HTTP 1.0 (puis HTTP 1.1) on et e cr ees pour enrichir les possibilit es de ce protocole. Plusieurs requ etes sont possibles, des donn ees compl ementaires peuvent etre envoy ees par le client ou par le serveur.

http://jb.vioix.free.fr

3-14

Le protocole HTTP

Pr esentation g en erale

Le protocole HTTP : pr esentation g en erale

La premi` ere version du protocole etait tr` es simple : le client se connecte et demande une ressource (GET), le serveur lui repond, la connexion est ferm ee. Aucune autre donn ee nest envoy ee ou re cue. HTTP 1.0 (puis HTTP 1.1) on et e cr ees pour enrichir les possibilit es de ce protocole. Plusieurs requ etes sont possibles, des donn ees compl ementaires peuvent etre envoy ees par le client ou par le serveur.

http://jb.vioix.free.fr

3-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des requ etes (HTTP 1.0 et HTTP 1.1)
Les deux versions sont tr` es proches dans la syntaxe.
Commande URL version ( HTTP /1.0 ou HTTP /1.1) En - t^ e te de requ^ e te Corps de requ^ e te

Les commandes les plus utilis ees sont : GET et POST. Lent ete de requ ete contient des informations sous la forme Nom : valeur. HTTP 1.1 ajoute le maintient de la connexion entre les requ etes (permet denvoyer plusieurs requ etes sans attendre la r eponse, diminution de la charge du r eseau,. . . ).

http://jb.vioix.free.fr

4-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des requ etes (HTTP 1.0 et HTTP 1.1)
Les deux versions sont tr` es proches dans la syntaxe.
Commande URL version ( HTTP /1.0 ou HTTP /1.1) En - t^ e te de requ^ e te Corps de requ^ e te

Les commandes les plus utilis ees sont : GET et POST. Lent ete de requ ete contient des informations sous la forme Nom : valeur. HTTP 1.1 ajoute le maintient de la connexion entre les requ etes (permet denvoyer plusieurs requ etes sans attendre la r eponse, diminution de la charge du r eseau,. . . ).

http://jb.vioix.free.fr

4-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des requ etes (HTTP 1.0 et HTTP 1.1)
Les deux versions sont tr` es proches dans la syntaxe.
Commande URL version ( HTTP /1.0 ou HTTP /1.1) En - t^ e te de requ^ e te Corps de requ^ e te

Les commandes les plus utilis ees sont : GET et POST. Lent ete de requ ete contient des informations sous la forme Nom : valeur. HTTP 1.1 ajoute le maintient de la connexion entre les requ etes (permet denvoyer plusieurs requ etes sans attendre la r eponse, diminution de la charge du r eseau,. . . ).

http://jb.vioix.free.fr

4-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des requ etes (HTTP 1.0 et HTTP 1.1)
Les deux versions sont tr` es proches dans la syntaxe.
Commande URL version ( HTTP /1.0 ou HTTP /1.1) En - t^ e te de requ^ e te Corps de requ^ e te

Les commandes les plus utilis ees sont : GET et POST. Lent ete de requ ete contient des informations sous la forme Nom : valeur. HTTP 1.1 ajoute le maintient de la connexion entre les requ etes (permet denvoyer plusieurs requ etes sans attendre la r eponse, diminution de la charge du r eseau,. . . ).

http://jb.vioix.free.fr

4-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des r eponses (HTTP 1.0 et HTTP 1.1)

Le serveur r epond en envoyant dabord un code de r esultat suivit de plusieurs el ements dinformation. Une ligne pr ec` ede ensuite les donn ees demand ees (ou un message derreur). Les codes derreurs sont organis e par cat egorie de r eponse :
Succ` es (200 OK,. . . ), Redirection (301 ressource d eplac ee de mani` ere permanente, 302 ressource d eplac ee de mani` ere temporaire,. . . ) Erreur du client (403 traitement refus e, 404 document non trouv e,. . . ) Erreur du serveur (500 erreur interne,. . . ).

http://jb.vioix.free.fr

5-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des r eponses (HTTP 1.0 et HTTP 1.1)

Le serveur r epond en envoyant dabord un code de r esultat suivit de plusieurs el ements dinformation. Une ligne pr ec` ede ensuite les donn ees demand ees (ou un message derreur). Les codes derreurs sont organis e par cat egorie de r eponse :
Succ` es (200 OK,. . . ), Redirection (301 ressource d eplac ee de mani` ere permanente, 302 ressource d eplac ee de mani` ere temporaire,. . . ) Erreur du client (403 traitement refus e, 404 document non trouv e,. . . ) Erreur du serveur (500 erreur interne,. . . ).

http://jb.vioix.free.fr

5-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des r eponses (HTTP 1.0 et HTTP 1.1)

Le serveur r epond en envoyant dabord un code de r esultat suivit de plusieurs el ements dinformation. Une ligne pr ec` ede ensuite les donn ees demand ees (ou un message derreur). Les codes derreurs sont organis e par cat egorie de r eponse :
Succ` es (200 OK,. . . ), Redirection (301 ressource d eplac ee de mani` ere permanente, 302 ressource d eplac ee de mani` ere temporaire,. . . ) Erreur du client (403 traitement refus e, 404 document non trouv e,. . . ) Erreur du serveur (500 erreur interne,. . . ).

http://jb.vioix.free.fr

5-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des r eponses (HTTP 1.0 et HTTP 1.1)

Le serveur r epond en envoyant dabord un code de r esultat suivit de plusieurs el ements dinformation. Une ligne pr ec` ede ensuite les donn ees demand ees (ou un message derreur). Les codes derreurs sont organis e par cat egorie de r eponse :
Succ` es (200 OK,. . . ), Redirection (301 ressource d eplac ee de mani` ere permanente, 302 ressource d eplac ee de mani` ere temporaire,. . . ) Erreur du client (403 traitement refus e, 404 document non trouv e,. . . ) Erreur du serveur (500 erreur interne,. . . ).

http://jb.vioix.free.fr

5-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des r eponses (HTTP 1.0 et HTTP 1.1)

Le serveur r epond en envoyant dabord un code de r esultat suivit de plusieurs el ements dinformation. Une ligne pr ec` ede ensuite les donn ees demand ees (ou un message derreur). Les codes derreurs sont organis e par cat egorie de r eponse :
Succ` es (200 OK,. . . ), Redirection (301 ressource d eplac ee de mani` ere permanente, 302 ressource d eplac ee de mani` ere temporaire,. . . ) Erreur du client (403 traitement refus e, 404 document non trouv e,. . . ) Erreur du serveur (500 erreur interne,. . . ).

http://jb.vioix.free.fr

5-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des r eponses (HTTP 1.0 et HTTP 1.1)

Le serveur r epond en envoyant dabord un code de r esultat suivit de plusieurs el ements dinformation. Une ligne pr ec` ede ensuite les donn ees demand ees (ou un message derreur). Les codes derreurs sont organis e par cat egorie de r eponse :
Succ` es (200 OK,. . . ), Redirection (301 ressource d eplac ee de mani` ere permanente, 302 ressource d eplac ee de mani` ere temporaire,. . . ) Erreur du client (403 traitement refus e, 404 document non trouv e,. . . ) Erreur du serveur (500 erreur interne,. . . ).

http://jb.vioix.free.fr

5-14

Le protocole HTTP

Syntaxe

Le protocole HTTP : syntaxe des r eponses (HTTP 1.0 et HTTP 1.1)

Le serveur r epond en envoyant dabord un code de r esultat suivit de plusieurs el ements dinformation. Une ligne pr ec` ede ensuite les donn ees demand ees (ou un message derreur). Les codes derreurs sont organis e par cat egorie de r eponse :
Succ` es (200 OK,. . . ), Redirection (301 ressource d eplac ee de mani` ere permanente, 302 ressource d eplac ee de mani` ere temporaire,. . . ) Erreur du client (403 traitement refus e, 404 document non trouv e,. . . ) Erreur du serveur (500 erreur interne,. . . ).

http://jb.vioix.free.fr

5-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET

La commande GET permet de demander une ressource au serveur. La syntaxe est la suivante :
GET ressource protocole Champ : valeur ...

La requ ete est valid ee par lenvoi dune ligne blanche. Il ny a normalement pas de corps de la requ ete.

http://jb.vioix.free.fr

6-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET

La commande GET permet de demander une ressource au serveur. La syntaxe est la suivante :
GET ressource protocole Champ : valeur ...

La requ ete est valid ee par lenvoi dune ligne blanche. Il ny a normalement pas de corps de la requ ete.

http://jb.vioix.free.fr

6-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET

La commande GET permet de demander une ressource au serveur. La syntaxe est la suivante :
GET ressource protocole Champ : valeur ...

La requ ete est valid ee par lenvoi dune ligne blanche. Il ny a normalement pas de corps de la requ ete.

http://jb.vioix.free.fr

6-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET

La commande GET permet de demander une ressource au serveur. La syntaxe est la suivante :
GET ressource protocole Champ : valeur ...

La requ ete est valid ee par lenvoi dune ligne blanche. Il ny a normalement pas de corps de la requ ete.

http://jb.vioix.free.fr

6-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET (exemple)

Exemple du requete GET envoy ee par Firefox sur lurl http://jb.vioix.free.fr


GET / HTTP /1.1 Host : jb . vioix . free . fr User - Agent : Mozilla /5.0 ( X11 ; U ; Linux i686 ; fr ; rv :1.8.1. 1) ... Accept : text / xml , application / xml , application / xhtml + xml , text / html ... ... Keep - Alive : 300 Connection : keep - alive Cookie : ...

Le client envoie de nombreux el ements en plus de ceux indispensables comme le navigateur utilis e, le syst` eme dexploitation, les cookies stock es,. . .

http://jb.vioix.free.fr

7-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET (exemple)

Exemple du requete GET envoy ee par Firefox sur lurl http://jb.vioix.free.fr


GET / HTTP /1.1 Host : jb . vioix . free . fr User - Agent : Mozilla /5.0 ( X11 ; U ; Linux i686 ; fr ; rv :1.8.1. 1) ... Accept : text / xml , application / xml , application / xhtml + xml , text / html ... ... Keep - Alive : 300 Connection : keep - alive Cookie : ...

Le client envoie de nombreux el ements en plus de ceux indispensables comme le navigateur utilis e, le syst` eme dexploitation, les cookies stock es,. . .

http://jb.vioix.free.fr

7-14

Le protocole HTTP

Requete GET

Le protocole HTTP : reponse dun serveur (exemple sur une page XHTML)
R esultat de la requete GET envoy ee par Firefox sur lurl http://jb.vioix.free.fr
HTTP /1.1 200 OK Date : Sat , 20 Jan 2007 10:28:00 GMT Server : Apache / ProXad [ Dec 3 2006 11:06:18] X - Powered - By : PHP /4.4.3 - dev Last - Modified : Thu , 18 Jan 2007 16:13:33 GMT Connection : close Content - Type : text / html ; charset = utf -8 <! DOCTYPE html PUBLIC " -// W3C // DTD XHTML 1.0 Strict // EN " ... < html xmlns =" http :// www . w3 . org /1999/ xhtml " lang = " fr " > < head > < meta http - equiv = " Content - Type " content = " text / html ; ... < meta name = " MSSmartTagsP re ve nt Pa r si ng " ... < title > Bienvenue sur le site de Jean - Baptiste Vioix </ title > ...

Le serveur envoie quelques el ements dans la r eponse (notamment la date, l etat de la connexion,. . . ) puis le chier demand e (ici du XHTML).
http://jb.vioix.free.fr 8-14

Le protocole HTTP

Requete GET

Le protocole HTTP : reponse dun serveur (exemple sur une page XHTML)
R esultat de la requete GET envoy ee par Firefox sur lurl http://jb.vioix.free.fr
HTTP /1.1 200 OK Date : Sat , 20 Jan 2007 10:28:00 GMT Server : Apache / ProXad [ Dec 3 2006 11:06:18] X - Powered - By : PHP /4.4.3 - dev Last - Modified : Thu , 18 Jan 2007 16:13:33 GMT Connection : close Content - Type : text / html ; charset = utf -8 <! DOCTYPE html PUBLIC " -// W3C // DTD XHTML 1.0 Strict // EN " ... < html xmlns =" http :// www . w3 . org /1999/ xhtml " lang = " fr " > < head > < meta http - equiv = " Content - Type " content = " text / html ; ... < meta name = " MSSmartTagsP re ve nt Pa r si ng " ... < title > Bienvenue sur le site de Jean - Baptiste Vioix </ title > ...

Le serveur envoie quelques el ements dans la r eponse (notamment la date, l etat de la connexion,. . . ) puis le chier demand e (ici du XHTML).
http://jb.vioix.free.fr 8-14

Le protocole HTTP

Requete GET

Le protocole HTTP : reponse dun serveur (exemple sur image )


T el echargement dune image contenue sur un site web, requ ete envoy ee par le navigateur :
GET / xmedia / recherches / these / Vol2 -71 - source . png HTTP /1.1 ...

R esultat de la requete :
HTTP /1.1 200 OK Date : Sat , 20 Jan 2007 12:04:41 GMT Server : Apache / ProXad [ Dec 3 2006 11:06:18] Last - Modified : Tue , 06 Dec 2005 22:22:14 GMT ETag : " 800664 af -10082 -43960 f16 " Connection : close Accept - Ranges : bytes Content - Length : 65666 Content - Type : image / png

Apr` es une ligne blanches, les donn ees du chiers sont envoy ees de mani` ere brute.
http://jb.vioix.free.fr 9-14

Le protocole HTTP

Requete GET

Le protocole HTTP : reponse dun serveur (exemple sur image )


T el echargement dune image contenue sur un site web, requ ete envoy ee par le navigateur :
GET / xmedia / recherches / these / Vol2 -71 - source . png HTTP /1.1 ...

R esultat de la requete :
HTTP /1.1 200 OK Date : Sat , 20 Jan 2007 12:04:41 GMT Server : Apache / ProXad [ Dec 3 2006 11:06:18] Last - Modified : Tue , 06 Dec 2005 22:22:14 GMT ETag : " 800664 af -10082 -43960 f16 " Connection : close Accept - Ranges : bytes Content - Length : 65666 Content - Type : image / png

Apr` es une ligne blanches, les donn ees du chiers sont envoy ees de mani` ere brute.
http://jb.vioix.free.fr 9-14

Le protocole HTTP

Requete GET

Le protocole HTTP : reponse dun serveur (exemple sur image )


T el echargement dune image contenue sur un site web, requ ete envoy ee par le navigateur :
GET / xmedia / recherches / these / Vol2 -71 - source . png HTTP /1.1 ...

R esultat de la requete :
HTTP /1.1 200 OK Date : Sat , 20 Jan 2007 12:04:41 GMT Server : Apache / ProXad [ Dec 3 2006 11:06:18] Last - Modified : Tue , 06 Dec 2005 22:22:14 GMT ETag : " 800664 af -10082 -43960 f16 " Connection : close Accept - Ranges : bytes Content - Length : 65666 Content - Type : image / png

Apr` es une ligne blanches, les donn ees du chiers sont envoy ees de mani` ere brute.
http://jb.vioix.free.fr 9-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET

Dans une requ ete GET les donn ees sont envoy es apr` es le nom de la ressource demand ee suivie dun ?
GET / search . php ?q = java & s = Search HTTP /1.1

Les variables sont encod es selon le codage application/x-www-urlencode : les espaces sont remplac es +, les es par % suivi caract` eres non aphanum eriques (sauf ) sont remplac dune valeur h exad ecimale, les di erentes variables sont s epar ees par &. Dans lexemple pr ec edent, q vaudra java et s vaudra Search, cest le serveur web qui interpretera ces valeurs avant de renvoyer sa r eponse.

http://jb.vioix.free.fr

10-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET

Dans une requ ete GET les donn ees sont envoy es apr` es le nom de la ressource demand ee suivie dun ?
GET / search . php ?q = java & s = Search HTTP /1.1

Les variables sont encod es selon le codage application/x-www-urlencode : les espaces sont remplac es +, les es par % suivi caract` eres non aphanum eriques (sauf ) sont remplac dune valeur h exad ecimale, les di erentes variables sont s epar ees par &. Dans lexemple pr ec edent, q vaudra java et s vaudra Search, cest le serveur web qui interpretera ces valeurs avant de renvoyer sa r eponse.

http://jb.vioix.free.fr

10-14

Le protocole HTTP

Requete GET

Le protocole HTTP : requ ete GET

Dans une requ ete GET les donn ees sont envoy es apr` es le nom de la ressource demand ee suivie dun ?
GET / search . php ?q = java & s = Search HTTP /1.1

Les variables sont encod es selon le codage application/x-www-urlencode : les espaces sont remplac es +, les es par % suivi caract` eres non aphanum eriques (sauf ) sont remplac dune valeur h exad ecimale, les di erentes variables sont s epar ees par &. Dans lexemple pr ec edent, q vaudra java et s vaudra Search, cest le serveur web qui interpretera ces valeurs avant de renvoyer sa r eponse.

http://jb.vioix.free.fr

10-14

Le protocole HTTP

Requete POST

Le protocole HTTP : requ ete POST

La commande POST permet de demander une ressource au serveur tout en envoyant des donn ees. La syntaxe est identique ` a celle de la requete GET. Le corps de la requ ete comprend des variables donc le type est sp eci e par la variable dent ete Content-Type et la taille des donn ees par Content-Length. La requete est valid ee par lenvoi dune ligne blanche.

http://jb.vioix.free.fr

11-14

Le protocole HTTP

Requete POST

Le protocole HTTP : requ ete POST

La commande POST permet de demander une ressource au serveur tout en envoyant des donn ees. La syntaxe est identique ` a celle de la requete GET. Le corps de la requ ete comprend des variables donc le type est sp eci e par la variable dent ete Content-Type et la taille des donn ees par Content-Length. La requete est valid ee par lenvoi dune ligne blanche.

http://jb.vioix.free.fr

11-14

Le protocole HTTP

Requete POST

Le protocole HTTP : requ ete POST

La commande POST permet de demander une ressource au serveur tout en envoyant des donn ees. La syntaxe est identique ` a celle de la requete GET. Le corps de la requ ete comprend des variables donc le type est sp eci e par la variable dent ete Content-Type et la taille des donn ees par Content-Length. La requete est valid ee par lenvoi dune ligne blanche.

http://jb.vioix.free.fr

11-14

Le protocole HTTP

Requete POST

Le protocole HTTP : requ ete POST

La commande POST permet de demander une ressource au serveur tout en envoyant des donn ees. La syntaxe est identique ` a celle de la requete GET. Le corps de la requ ete comprend des variables donc le type est sp eci e par la variable dent ete Content-Type et la taille des donn ees par Content-Length. La requete est valid ee par lenvoi dune ligne blanche.

http://jb.vioix.free.fr

11-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : di erences entre GET et POST


La di erence fondamentale entre GET et POST est li ee ` a lenvoi de donn ees au serveur. La syntaxe des requ etes POST est proche mais les donn ees sont transmises dane le corps de la requ ete. Parmi les el ements pr esents dans lent ete, l el ement Content-type xe lencodage utilis e pour transmettre les donn ees, il peut prendre les valeurs suivantes :
application/x-www-form-urlencode, les donn ees sont encod ees comme pour une requ ete GET, multipart/form-data, qui est utilis e pour envoyer des chiers binaires (upload de chiers), text/plain est utilis e pour des donn ees au format texte sans modication.

La taille des donn ees pouvant etre envoy ees par la m ethode GET est limit ee, contrairement ` a la m ethode POST. Les donn ees sont visibles pour lutilisateur (barre dadresse du navigateur) si on utilise la m ethode GET.
http://jb.vioix.free.fr 12-14

Le protocole HTTP

Requete POST

Le protocole HTTP : requ ete POST (exemple)

Exemple du requete POST envoy ee par Firefox

POST /?/ comments /1/ HTTP /1.1 Host : jb . vioix . free . fr User - Agent : Mozilla /5.0 ( X11 ; U ; Linux i686 ; fr ; rv :1.8.1. 1) Gecko /20061208 Firefox /2.0 Accept : text / xml , application / xml , application / xhtml + xml , text / html ; q =0.9 , text / plain ;q =0.8 Accept - Language : fr , fr - fr ; q =0.8 , en - us ; q =0.5 , en ; q =0.3 ... Content - Type : application /x - www - form - urlencoded Content - Length : 174

redirect = http %3 A %2 F %2 Fjb . vioix . free . fr %2 F %3 F %2 FZDivers - et - varies %2 F1 - En - travaux & c_autho

Les donn ees sont bien envoy ees dans le corps de la requ ete, cod ee selon application/x-www-form-urlencode.

http://jb.vioix.free.fr

13-14

Le protocole HTTP

Requete POST

Le protocole HTTP : requ ete POST (exemple)

Exemple du requete POST envoy ee par Firefox

POST /?/ comments /1/ HTTP /1.1 Host : jb . vioix . free . fr User - Agent : Mozilla /5.0 ( X11 ; U ; Linux i686 ; fr ; rv :1.8.1. 1) Gecko /20061208 Firefox /2.0 Accept : text / xml , application / xml , application / xhtml + xml , text / html ; q =0.9 , text / plain ;q =0.8 Accept - Language : fr , fr - fr ; q =0.8 , en - us ; q =0.5 , en ; q =0.3 ... Content - Type : application /x - www - form - urlencoded Content - Length : 174

redirect = http %3 A %2 F %2 Fjb . vioix . free . fr %2 F %3 F %2 FZDivers - et - varies %2 F1 - En - travaux & c_autho

Les donn ees sont bien envoy ees dans le corps de la requ ete, cod ee selon application/x-www-form-urlencode.

http://jb.vioix.free.fr

13-14

Le protocole HTTP

Requete POST

Le protocole HTTP : gestion des di erents el ements par le navigateur


Une page web est compos ee de nombreux el ements (chiers XHTML, images, feuilles de style, scripts,. . . ). Pour t el echarger ces el ements, le navigateur envoie les requ etes :
GET GET GET GET GET GET GET GET GET / HTTP /1.1 / xmedia / theme / default / img / favicon . ico HTTP /1.1 / xmedia / theme / jb / style . css HTTP /1.1 / xmedia / theme / default / img / q . png HTTP /1.1 / phpmv2 / phpmyvisites . js HTTP /1.1 / xmedia / theme / jb / img / feeds . png HTTP /1.1 / xmedia / theme / jb / img / sitemap . png HTTP /1.1 / phpmv2 / phpmyvisites . php ? url = http %3 A // jb . vioix . free . fr /& pagename = ... HTTP /1.1 / xmedia / theme / default / img / favicon . ico HTTP /1.1

Le serveur r epond a toutes ces requ etes :


HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 200 200 200 200 200 200 200 200 200 OK OK OK OK OK OK OK OK OK ( text / html ) ( text / css ) ( image /x - icon ) ( application /x - javascript ) ( image / png ) ( image / png ) ( image / png ) ( GIF89a ) ( image /x - icon ) 14-14

http://jb.vioix.free.fr

Le protocole HTTP

Requete POST

Le protocole HTTP : gestion des di erents el ements par le navigateur


Une page web est compos ee de nombreux el ements (chiers XHTML, images, feuilles de style, scripts,. . . ). Pour t el echarger ces el ements, le navigateur envoie les requ etes :
GET GET GET GET GET GET GET GET GET / HTTP /1.1 / xmedia / theme / default / img / favicon . ico HTTP /1.1 / xmedia / theme / jb / style . css HTTP /1.1 / xmedia / theme / default / img / q . png HTTP /1.1 / phpmv2 / phpmyvisites . js HTTP /1.1 / xmedia / theme / jb / img / feeds . png HTTP /1.1 / xmedia / theme / jb / img / sitemap . png HTTP /1.1 / phpmv2 / phpmyvisites . php ? url = http %3 A // jb . vioix . free . fr /& pagename = ... HTTP /1.1 / xmedia / theme / default / img / favicon . ico HTTP /1.1

Le serveur r epond a toutes ces requ etes :


HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 200 200 200 200 200 200 200 200 200 OK OK OK OK OK OK OK OK OK ( text / html ) ( text / css ) ( image /x - icon ) ( application /x - javascript ) ( image / png ) ( image / png ) ( image / png ) ( GIF89a ) ( image /x - icon ) 14-14

http://jb.vioix.free.fr

Le protocole HTTP

Requete POST

Le protocole HTTP : gestion des di erents el ements par le navigateur


Une page web est compos ee de nombreux el ements (chiers XHTML, images, feuilles de style, scripts,. . . ). Pour t el echarger ces el ements, le navigateur envoie les requ etes :
GET GET GET GET GET GET GET GET GET / HTTP /1.1 / xmedia / theme / default / img / favicon . ico HTTP /1.1 / xmedia / theme / jb / style . css HTTP /1.1 / xmedia / theme / default / img / q . png HTTP /1.1 / phpmv2 / phpmyvisites . js HTTP /1.1 / xmedia / theme / jb / img / feeds . png HTTP /1.1 / xmedia / theme / jb / img / sitemap . png HTTP /1.1 / phpmv2 / phpmyvisites . php ? url = http %3 A // jb . vioix . free . fr /& pagename = ... HTTP /1.1 / xmedia / theme / default / img / favicon . ico HTTP /1.1

Le serveur r epond a toutes ces requ etes :


HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 HTTP /1.1 200 200 200 200 200 200 200 200 200 OK OK OK OK OK OK OK OK OK ( text / html ) ( text / css ) ( image /x - icon ) ( application /x - javascript ) ( image / png ) ( image / png ) ( image / png ) ( GIF89a ) ( image /x - icon ) 14-14

http://jb.vioix.free.fr