Le Web comment ça marche ?
HTTP : le protocole
-
Client
-
Serveur
-
Code réponse
-
Entêtes
-
Réponses
-
Conçu au départ pour être le plus simple possible
-
Ce n'est plus du tout vrai aujourd'hui !
-
Voir http://www.w3.org/Protocols/History.html
pour un historique du protocole. De là, on accède à
la dernière version de la spécification complète du
protocole.
HTTP : requêtes principales
-
GET : demander quelque chose
-
Document
-
Script
-
Mise à jour
-
POST : envoi de paramètres
-
HEAD : demander non pas le document mais des informations le concernant
-
PUT, DELETE, etc...
-
Utilisés par les outils d'authoring : Frontpage, Netscape Gold,
etc...
HTTP : classes de réponses
-
2xx : Succès
-
3xx : Redirection
-
4xx : Erreur client
-
401 : Non autorisé
-
404 : Document inexistant
-
5xx : Erreur serveur
-
500 : erreur dans un script (entre autres)
-
Erreur Gateway/Cache
HTTP : entêtes de requête
-
From : adresse email
-
Non envoyée par la majorité des clients pour des raisons
de confidentialité.
-
Accept : une liste de types MIME
-
image/gif, text/*, */*
-
application/postscript, video/mpeg
-
Accept-Encoding : Une liste de méthodes de codage MIME
-
Accept-Language : une liste de langues désirées
-
Passe à la trappe dans 99% des cas, mais commence à être
utilisé
-
Accept-Language est par exemple utilisé sur le site http://italy.imdb.com
(Pour tester, accéder à la page avec differéntes
préférences de Netscape)
HTTP : entêtes de requête (2)
-
User-Agent : un identificateur du client
-
Utile pour répondre différemment suivant les clients, ou
pour débugger.
-
Ex : Mozilla 4.01b6 (X11, SunOS 2.5)
-
Referer : La page d'où l'on vient
-
Authorization : login passwd
-
Assez faible question sécurité.
-
If-Modified-Since : Date
-
Permet de transférer la page que s'il elle a été modifiée
depuis la date précisée.
-
Très utile pour les caches !
-
Cache-Control :
-
Pour le contrôle des caches.
-
Permet d'indiquer si le document demandé peut être caché
ou pas.
HTTP : entêtes de réponse
-
Date : la date de traitement de la requête.
-
Last-Modified : date
-
Content-Type : le type MIME du document renvoyé.
-
text/html
-
image/gif
-
application/postscript
-
text/plain
-
audio/basic
-
video/mpeg
-
etc...
-
Content-Length : longueur des données, en octets
-
Utile pour savoir si tout s'est bien passé.
-
Non obligatoire...
HTTP : entêtes de réponse (2)
-
Content-Encoding
-
compress, x-gzip, x-zip, etc...
-
Content-Language : le langage utilisé
-
fr : français, en : anglais, it : italien, etc...
HTTP : réponse
-
Un seul objet par réponse
-
Pas de type MIME multipart/* à part dans certaines animations.
-
Le multipart est considéré comme un gros caca...
-
... pour l'instant !