Structure de message HTTP
HTTP est un client / serveur (C / S) modèle d'architecture, d'échanger des informations via une liaison sécurisée, est un protocole de requête / réponse apatride.
Un HTTP «client» est une application (navigateur Web ou tout autre client), en envoyant une demande de connexion au serveur pour atteindre un ou plusieurs des objectifs du serveur HTTP.
Un HTTP "serveur" est également une application (généralement un service Web, tels que Apache Web Server ou d'un serveur IIS, etc.), en recevant la demande du client au client d'envoyer des données de réponse HTTP.HTTP utilise l'identificateur uniforme de ressource (Uniform Resource Identifiers, URI) pour transmettre des données et établir une connexion.
Une fois la connexion établie, le message de données sur Internet via le format similaire à celui utilisé [RFC5322] e-mail et Multipurpose Internet Mail Extensions (MIME) [__gVirt_NP_NN_NNPS<__ RFC2045] pour transmettre.
message de demande de client
Le client envoie une requête HTTP au message de demande de serveur inclut le format suivant: Le format général de la ligne de demande (ligne de demande), tête de requête (en-tête), des lignes vides, et les données de demande de quatre parties, la figure suivante montre les paquets de demande .
un message de réponse du serveur
réponse HTTP se compose également de quatre parties, à savoir: la ligne d'état, les en-têtes de message, une ligne vide et le corps de la réponse.
Exemples
L'exemple suivant est un peu utilisation typique GET pour passer les données d'instance:
Les demandes des clients:
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
sortie:
Hello World! My payload includes a trailing CRLF.