1. Introduction
Ce document définit un format simple pour représenter un message HTTP [HTTP], requête ou réponse. Cela permet l'encodage de messages HTTP pouvant être transmis en dehors d'un protocole HTTP. Cela permet la transformation de messages entiers, y compris l'application du chiffrement authentifié.
La conception de ce format s'inspire de la structure de tramage de HTTP/2 [HTTP/2] et HTTP/3 [HTTP/3]. Les règles de construction des messages s'appuient sur les règles définies dans HTTP/2, mais le format lui-même est distinct ; voir Section 6.
Ce format définit "message/bhttp", une alternative binaire au type de contenu "message/http" défini dans [HTTP/1.1]. Un format binaire permet un encodage et un traitement plus efficaces des messages. Un format binaire réduit également l'exposition aux problèmes de sécurité liés au traitement des messages HTTP.
Deux modes d'encodage sont décrits :
- un encodage à longueur connue inclut des préfixes de longueur pour tous les principaux composants de message
- un encodage à longueur indéterminée permet une génération efficace de messages lorsque les longueurs ne sont pas connues au début de l'encodage