PREVIOUS UP   Technologies Internet et Education, © TECFA
  3. Introduction à HTTP / Server-side scripting

3. Introduction à HTTP / Server-side scripting

3.1 Le principe de base du HyperText Transfer Protocol (HTTP)

 

A. Une requête typique envoyé par un browser (=GET)

Une requête GET (ici: http://tecfamoo.unige.ch:7778/4026/ ):

GET /4026/ HTTP/1.0
Referer: http://tecfa.unige.ch:7778/&eweb_room
Connection: Keep-Alive
User-Agent: Mozilla/3.01 (X11; I; SunOS 5.4 sun4m)
Host: tecfa.unige.ch:7778
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

Voici quelques URLs qui montrent:

Note:

B. La réponse typique a la forme suivante:

HTTP/1.0 304 Not modified
Server: .....
Date: Monday, .....
Content-Type: text/html
Content-Length: ....
Last-Modified: ....

..... contenu .....

La première ligne doit être une "status line" :

avec la syntaxe suivante:
           <HTTP-Versions> <Status-Code> <Reason-Phrase>

Ensuite vient l'en-tête:

Ensuite le descriptif (et c'est important à connaître)

Le contenu

3.2 Principe du "Common Gateway Interface" (CGI)

 

Ceci est superficiel (!), voir aussi:

L'emballage en "query string"

      name1=valeur&name2=valeur2&name3=valeur3

 

L'interface entre le serveur et les script

 

Il existe 2 interfaces: GET et POST

A. CGI avec GET

Exemple 3-1: Exemple fictif "GET" avec 2 variables:

Lignes envoyées par le client au serveur

GET /~mooboy?q1=nulle&q2=nulle HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.04 [en] (X11; I; SunOS 5.6 sun4m)
Pragma: no-cache
Host: tecfa.unige.ch:7778
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Language: fr,en,de
Accept-Charset: iso-8859-1,*,utf-8

Voici les variables d'environnement données au programme CGI

HTTP_Connection = Keep-Alive
HTTP_Pragma = no-cache
REMOTE_HOST = fpssun19
TIME = 893235031
REQUEST_METHOD = GET
HTTP_USER_AGENT = Mozilla/4.04 [en] (X11; I; SunOS 5.6 sun4m
PATH_TRANSLATED = mooboy?q1=nulle&q2=nulle
HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*fr,en,deiso-8859-1,*,utf-8"
.......

B. CGI avec POST

La requête HTTP contient en plus:

Exemple 3-2: Une requête POST

POST /cgi/&e_thing HTTP/1.0
Referer: http://tecfa.unige.ch/tecfa/tecfa-teaching/staf14/files/moo-form.html
Connection: Keep-Alive
User-Agent: Mozilla/3.01 (X11; I; SunOS 5.4 sun4m)
Host: tecfa.unige.ch:7778
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Content-type: application/x-www-form-urlencoded
Content-length: 179

Edu-Comp=&name=&first_name=&institution=&site-url=&personal-url=&e-mail=&activity=Education&hours=under5&archive=CICA&Color=fluo&Comments=%E9jhl%E9kjh%0D%0ASLKshS&Rating=Dix+MILLE"

A retenir


PREVIOUS UP -- TIE