Introduction: Présentation HTTP
Installation et configuration d’apache
VirtualHosts
Aliasing
Limitation d’accès
PROTOCOLE HTTP – PRÉSENTATION
HTTP : HyperText Transfer Protocol
> Versions : 0.9, 1.0, 1.1
> Architecture Client-Serveur
> RFC 1945, 2616, 822
> Messages composés de
> Entêtes
> Données
> Messages du type
> Requête (demande)
> Réponse
PROTOCOLE HTTP – REQUÊTE
Schéma :
> Titre de la requête
> METHODE (GET, HEAD, POST…)
> RESSOURCE
> VERSION du protocole
> Options d’entête supplémentaires
> Hôte virtuel à interroger
> Identité du navigateur (User-Agent)
> Types MIME supportés par le navigateur
> Cookies (Cookie)
etc…
> « Ligne blanche »
EXEMPLES DE REQUÊTES HTTP
GET http://www.yahoo.com HTTP/1.1 Host: www.yahoo.com
User-Agent : Mozilla/5.0 (Linux i686) Accept : text/html, application/xml, image/jpeg
> HEAD http://www.yahoo.com HTTP/1.0
> POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-formurlencoded
PROTOCOLE HTTP – RÉPONSE
Schéma :
> Titre de la réponse
> VERSION du protocole
> CODE d’erreur
> LIBELLE correspondant au code d’erreur
> Options d’entête supplémentaires
> Type MIME du contenu
> Date/heure du serveur
> Taille du message
> Instructions de mise en cache
> Dépôt de cookies
etc…
> « Ligne blanche »
> Corps du messages (données à transmettre
EXEMPLE DE RÉPONSE HTTP
HTTP/1.1 302 Found
Date: Sun, 05 Nov 2006 10:47:52 GMT
Content-Length: 30
Content-Type: text/html;
charset=iso-8859-1
<html><body>test</body></html>
PROTOCOLE HTTP – MÉTHODES
GET : obtenir une ressource
> HEAD : obtenir des informations sur une ressource
> POST : envoi de données par formulaire
> PUT : dépôt d’un fichier sur le serveur
> DELETE : suppression d’un fichier sur le serveur
> TRACE : retourne les données envoyés dans la requête
> OPTIONS : permet d’obtenir des informations sur les options de communication d’une ressource
> CONNECT : permet d’utiliser un proxy
PROTOCOLE HTTP – CODES D’ERREUR
> Familles de codes d’erreur
> 1xx : Information
> 100 – Continue : Attente de la suite de la requête
> 2xx : Succès
> 200 – OK : Requête traitée avec succès
> 202 – Accepted : Requête traitée mais sans garantie de résultat
> 3xx : Redirection
> 301 – Moved Permanently : Document déplacé de façon permanente
> 302 – Moved Temporarily : Document déplacé de façon temporaire
> 4xx : Erreur imputable au client
> 403 – Forbidden : Refus de traitement de la requête
> 404 – Not Found : Document non trouvé
> 5xx : Erreur du serveur
> 500 – Internal Server Error : Erreur interne du serveur
> 505 – HTTP Version not supported : Version HTTP non gérée par le serveur
….