Aller au contenu principal

8. Échanges de messages HTTP (HTTP Message Exchanges)

HTTP/2 est destiné à être aussi compatible que possible avec les utilisations actuelles de HTTP. Cela signifie que la sémantique existante de HTTP reste inchangée.

8.1 Échange requête/réponse HTTP (HTTP Request/Response Exchange)

Un échange requête/réponse HTTP se compose de :

  1. Trame HEADERS (avec indicateur END_HEADERS)
  2. Zéro ou plusieurs trames CONTINUATION (si nécessaire)
  3. Zéro ou plusieurs trames DATA
  4. Trame HEADERS finale optionnelle

8.2 Push serveur (Server Push)

HTTP/2 permet à un serveur d'envoyer de manière préemptive des réponses à un client en association avec une requête précédemment initiée par le client.

Flux de push serveur :

  1. Le serveur envoie une trame PUSH_PROMISE
  2. Le serveur envoie des trames HEADERS + DATA sur le flux promis
  3. Le client peut annuler le push via RST_STREAM