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 :
- Trame HEADERS (avec indicateur END_HEADERS)
- Zéro ou plusieurs trames CONTINUATION (si nécessaire)
- Zéro ou plusieurs trames DATA
- 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 :
- Le serveur envoie une trame PUSH_PROMISE
- Le serveur envoie des trames HEADERS + DATA sur le flux promis
- Le client peut annuler le push via RST_STREAM