4.1. Message Header Format (Format d'En-tête de Message)
4.1. Message Header Format (Format d'En-tête de Message)
Chaque message a un en-tête de taille fixe. Il peut y avoir ou non une partie de données suivant l'en-tête, selon le type de message. La disposition de ces champs est indiquée ci-dessous :
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ +
| Marker |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Marker (Marqueur) :
Ce champ de 16 octets est inclus pour la compatibilité ; il DOIT être réglé sur tous les uns.
Length (Longueur) :
Cet entier non signé de 2 octets indique la longueur totale du message, y compris l'en-tête en octets. Ainsi, il permet de localiser le (champ Marqueur du) message suivant dans le flux TCP. La valeur du champ Length DOIT toujours être d'au moins 19 et ne doit pas dépasser 4096, et PEUT être davantage contrainte, selon le type de message. Le "remplissage" (padding) de données supplémentaires après le message n'est pas autorisé. Par conséquent, le champ Length DOIT avoir la plus petite valeur requise, compte tenu du reste du message.
Type :
Cet entier non signé de 1 octet indique le code de type du message. Ce document définit les codes de type suivants :
- 1 - OPEN
- 2 - UPDATE
- 3 - NOTIFICATION
- 4 - KEEPALIVE
[RFC2918] définit un autre code de type.