3 ms·
Yeah and in fact even for HTTP/1.1 only the start of requests/responses are plain text, as the content is transmitted in its raw, binary, form. If it's textual
by est31 4y ago
Yeah and in fact even for HTTP/1.1 only the start of requests/responses are plain text, as the content is transmitted in its raw, binary, form. If it's textual content, or none at all, it's definitely all text, but if it's say an image being uploaded, then the content is binary. I'm glad that HTTP was so pragmatic about this compared to purist e-mail with its base64.
As for HTTP/2 changes, header names are now all lowercased (the article still works with 1.x casing). A stupid decision to lowercase if you ask me, but that's what the HTTP/2 authors went with. Lastly, the article mentions server push, but Chrome has announced its deprecation 2 years ago.
- secondcoming 4y agoMandating lowercase is good because it makes parsing faster. Of course, there’s going to be some poorly coded client out there that ignores this rule and so everybody else will have to accommodate this half-assedness too.
- est31 4y agoI get the arguments why lowercasing is better, and it's certainly more beautiful than making everything caps, but the transition from the old system to everything being lower case headers leads to a lot of bugs. https://github.com/cockpit-project/bots/commit/3cdbaa6d6765a583d337f4da7b9605a7c0223978 https://github.com/cockpit-project/bots/commit/3cdbaa6d6765a... https://github.com/edwardspec/mediawiki-aws-s3/issues/49 https://github.com/edwardspec/mediawiki-aws-s3/issues/49 https://github.com/firecracker-microvm/firecracker/pull/3006 https://github.com/firecracker-microvm/firecracker/pull/3006 https://github.com/snapview/tungstenite-rs/pull/267 https://github.com/snapview/tungstenite-rs/pull/267
- secondcoming 4y agoYes, libs that don’t adhere to the spec need to be fixed or deprecated.
- cesarb 4y ago> I'm glad that HTTP was so pragmatic about this compared to purist e-mail with its base64. The issue with e-mail is that it's store-and-forward, and the server which receives your message might have to forward it to another server which understands only 7-bit characters (using the 8th bit for parity). This worry might not make much sense nowadays, but remember that e-mail is old, back from before "all bytes are 8 bits" won over all other variants. As for HTTP, it was specified over TCP, which has always used 8-bit bytes, so it doesn't have to worry about systems which mangle or reject data with a high bit set.