It is true for any/all frames which have variable numbers of fields. :)
In all cases with these kinds of frames, you'll end up with a vector of fields which either contain the keys and values or pointers to the data.
In the case of headers you'll have to have uncompressed the first bit to get at the number of fields, but one must decompress anyway.
When you have a buffer containing n things and you with to index the kth, you generally don't re-parse the frame. You have an in-memory index over the fields.
For servers which care to be efficient, they can pre-allocate the index (in one allocation)while parsing based on the number of fields indicated instead of doing (for a good implementation) O(log(n)) allocations or O(n) allocations.
-=R
Fair enough. Fine by me to remove it for frames with a variable number of fixed length fields.