Re: #535: No 1xx Status Codes

On 2014-07-15 10:13, Mark Nottingham wrote:
> My .02 -
>
> Status codes have semantic "heft" in the protocol, and if an entire class of them is both poorly supported and has poor interest, it's not unreasonable to consider deprecating that class of status codes. If someone tries to use it in the future, they're going to be disappointed, because it isn't supported in software and APIs; that semantic won't be useful to express or expect (as was found with 102).

But we are not deprecating them, we are *removing* them.

> Persisting 1xx status codes has a real cost; besides the obvious cost of requiring HTTP/2 implementations to code for them, test them, and support them, there's also the cost of handling the interoperability problems when they don't work.

HTTP/1.1<->2 converters need to code for them anyway: in one case 
they'll drop them (requires detecting them), in the other case they 
forward them.

HTTP stacks already deal with 1xx in some way (*), and not having them 
in 2.0 doesn't mean support in 1.1 can be dropped.

(*) And yes, there are bugs. What we need to do here is to have tests, 
raise bugs, etc. I already started with that.

> OTOH the benefit of keeping them is quite nebulous; the two 1xx status codes originally defined ended up being a lot of trouble (100) and unused (101), and the only further one defined (102) turned out to be deprecated because of lack of support.
>
> So, my take is that making HTTP/2 more complex to satisfy use cases that haven't materialised in almost 20 years doesn't seem like a good tradeoff.
>
> Re: Trailers - I don't think that we should use them as an exemplar for the features we put into HTTP/2; they barely made it in, and they are explicitly ignorable in HTTP/1. Personally, the argument you're making drives me to want to remove trailers, not add 1xx.
>
> How do other folks feel about this? We can talk about it in Toronto, of course.

I agree that Trailers and 1xx are very similar. That being said, I'd 
rather get Trailer support fixed instead of them going away.

In general, while implementing HTTP/2, tons of code will need to be 
touched anyway; we should consider that an opportunity to also address 
1.1 related bugs.

Best regards, Julian

Received on Tuesday, 15 July 2014 08:36:08 UTC