web:http

Http et Client serveur Web

Acteurs

  • Entre 1 client Web (navigateur, application…)
  • Et un ou plusieurs serveurs HTTP

Scénario

  1. Requête initiale vers la ressource (method + URL + headers) de la part du client
  2. Réponse du Serveur HTTP (document Web)
  3. Requêtes initiées par le document web (images, vidéo, css…)
  4. Réponses HTTP reçues par le client (qui assemble éventuellement)

Uniform Resource Locator

  • Web
    • HTML
    • CSS
    • Javascript
  • Web APIs : elles utilisent des données dans un certain format
    • JSON : Javascript Object Notation
    • XML : Extensible Markup Language

Protocole de la couche Application en mode non connecté reposant sur TCP/IP.

Une requête HTTP comprend :

  • La méthode (GET, POST, HEAD…)
  • L'URL
  • La version du protocole utilisé par le client (généralement HTTP/1.0)
  • Les champs d'en-tête de la requête: donnent des informations supplémentaires sur la requête et/ou le client (Navigateur, système d'exploitation, …)
  • Le corps de la requête: par exemple pour l'envoi de données via un formulaire

Exemple d'en-tête pour la requête :

GET [/ https://slamwiki2.kobject.net/] HTTP/1.0    
Accept : text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9    
Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7    
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36

La réponse HTTP comprend :

  • Le statut indique
    • La version du protocole utilisé
    • Le code de statut
    • La signification du code
  • Les champs d'en-tête de la réponse donnent des informations supplémentaires sur la réponse et/ou le serveur
  • Le corps de la réponse (body): il contient le document demandé

Exemple d'en-tête pour la réponse :

HTTP/1.0 200 OK    
Cache-Control: no-store, no-cache, must-revalidate
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Thu, 02 Sep 2021 08:50:46 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive: timeout=5, max=98
Pragma: no-cache
Server: Apache
Transfer-Encoding: chunked
Vary: Cookie,Accept-Encoding
X-UA-Compatible: IE=edge,chrome=1

  • web/http.txt
  • Dernière modification : il y a 15 mois
  • de jcheron