Qu'est ce qu'HTTP? C'est un protocole sans état, chargé d'effectuer des méthodes sur des objets distants (resources). Une URL défini un objet et une méthode par défaut a effectuer: "GET", qui permet de récupérer une "vue" par HTTP de l'objet distant.
Il existe un certain nombre d'autres méthodes applicable à une resource, comme "HEAD","OPTIONS","PUT","DELETE","POST", qui ont chacune leur propre sémantique, par exemple "DELETE" sera utiliser pour faire disparaître une resource. "HEAD" sera utilisé pour recuperer les méta-données relatives à HTTP (en fait à la vue par HTTP de l'objet).
Le serveur va donc traiter la requête correspondant à la méthode demandée, et va renvoyer une réponse. Le modèle d'HTTP est donc "requête/réponse". Que l'opération soit un succés ou un echec, il y aura toujours une réponse (hors problès réseau ou manque de suivi de la spécification). Les réponses sont classées selon 5 grand groupes correspondant à un code à 3 chiffres.
En plus de la méthode de la requête, ou du code de la réponse, il existe des méta-données qui sont transmises au moyen d'en-tête (headers en anglais), dont certains concernent l'éventuel corps (body en anglais) de l'eventuelle entité envoyée, d'autres specifiques à la requête, à la réponse, ou à la connection.
En résumé, HTTP permet d'effectuer des appels de méthodes sur des objets distants, en fournissant des méte-donnés et possiblement des données. Et cet appel renverra toujours une réponse, contenant des méta-données, et possiblement des données, ces réponses appartenant à cinq grand groupes de comportements.
à suivre...