HTTP/1.1 was ratified 23 years ago. When I started writing @EnvoyProxy ~5 years ago I decided to not support HTTP/1.0. Not only did that not hold, but we continue to get HTTP/1.0 bugs filed against our support for it.
Legacy really, truly is forever.
-
Prikaži ovu nit
-
Some folks have asked why I did not block HTTP/1.0 support: I tried for a while, but the reality is that legacy apps run in prod that haven't been modified in years. Apps run that have no one familiar with how they work. Apps run that have lost source code!
1 reply 2 proslijeđena tweeta 19 korisnika označava da im se sviđaPrikaži ovu nit -
Envoy is now used in more places than I ever would have imagined, and one of those places is bringing observability, security, etc. to legacy apps. As such, it no longer seemed reasonable to block support when the use cases are legitimate.
0 proslijeđenih tweetova 9 korisnika označava da im se sviđaPrikaži ovu nit -
This is not the only compromise that has been made in this area. The HTTP spec says that headers are case insensitive. HTTP/2 in fact requires lowercase headers, and by default Envoy normalizes all headers to lowercase since internally all HTTP traffic is normalized to HTTP/2.
1 reply 2 proslijeđena tweeta 7 korisnika označava da im se sviđaPrikaži ovu nit -
However, many legacy apps have never properly handled header case insensitivity correctly, and Envoy's normalizing behavior breaks them. Not very long ago we added the ability for Envoy to re-CamelCase headers when encoding HTTP/1.1 to "fix" these apps.
1 reply 0 proslijeđenih tweetova 4 korisnika označavaju da im se sviđaPrikaži ovu nit -
Note that we do not preserve the original header case that was received; headers are still normalized to lowercase internally. Preserving case would have been a large and disruptive change. Changing case during encoding was a pragmatic compromise to fix a real world issue.
1 reply 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđaPrikaži ovu nit -
Shipping software that is very widely used is a fascinating exercise in trying to improve the status quo while engaging in pragmatic compromise. At least no one has asked for HTTP/0.9 support.
5 replies 7 proslijeđenih tweetova 53 korisnika označavaju da im se sviđaPrikaži ovu nit -
Odgovor korisniku/ci @mattklein123
I only removed the
#golang HTTP/0.9 somewhat recently. True story.2 proslijeđena tweeta 15 korisnika označava da im se sviđa
Lol. No generics, but HTTP/0.9 support out of the box. 
Čini se da učitavanje traje već neko vrijeme.
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.