Having developed HTTP/2, SPDY, and HTTP/1.1 framers, I can tell you that HTTP/1.1 is by far more error prone. Length encoding (i.e. binary format) is a god-send for reducing bugs.
Well I was going to give an example of a non-binary format with length prefixing but I've ended up entirely unsure what the definition of 'binary format' is.
Instead I'll say that length prefixing is good and useful but doesn't necessarily provide a correctness advantage over simple delimiters. It doesn't really shine until you've already decided to allow unrestricted binary data inside of strings.
Out there in the real world, people are going to keep putting unrestricted binary data inside of strings regardless of whether or not anyone has decided to allow it.
I'm curious what you think about my analysis of the binary vs text argument: https://www.youtube.com/watch?v=-yxQIRl6Qic&feature=player_d...