Structure des messages HTTP
HTTP est basé sur le modèle d'architecture client/serveur (C/S). Il échange des informations via une liaison fiable et est un protocole de requête/réponse sans état.
Un « client » HTTP est une application (un navigateur web ou tout autre client) qui se connecte à un serveur dans le but d'envoyer une ou plusieurs requêtes HTTP au serveur.
HTTP utilise des identifiants de ressources uniformes (URI) pour transmettre des données et établir des connexions.
Une fois la connexion établie, les messages de données sont envoyés en utilisant un format similaire à celui utilisé par la messagerie Internet [RFC5322] et les extensions de messagerie Internet polyvalentes (MIME) [RFC2045].
Message de demande du client
Le message de demande que le client envoie une requête HTTP au serveur comprend le format suivant : ligne de requête, en-tête de requête Il se compose de quatre parties (en-tête), ligne vierge et données de requête. La figure suivante montre le format général du message de requête.
Message de réponse du serveur
La réponse HTTP comprend également quatre parties, à savoir : la ligne d'état, l'en-tête du message, la ligne vide et la réponse. corps.
Exemple
L'exemple suivant est un exemple typique d'utilisation de GET pour transférer des données :
Demande du client :
GET /hello.txt HTTP/1.1 User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 Host: www.example.com Accept-Language: en, mi
Réponse du serveur :
HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain
Résultat de sortie :
Hello World! My payload includes a trailing CRLF.