-
-
Notifications
You must be signed in to change notification settings - Fork 290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Figure out what to do about informational status codes #167
Comments
So first off, here's the informational status codes, just so we know what we're dealing with:
Of these, I think:
|
I don't think the h2 library should implicitly handle 100, leaving it up to a higher level library (hyper) to handle that. Also, custom 1xx is permitted and handling 1xx is also explicitly called out in the http 2.0 spec. |
In that case, for the client, I'd probably put the informational status codes on a separate pollable method, since they are only informational, and unless I specifically want to handle them, I'd just ignore them. For the server, a Adding a server method can be done forwards compatibly, and if we put them in a separate function for the client, it can also. |
This sounds right, do you know if the spec explicitly calls out that it is safe to ignore |
According to HTTP/1.1:
HTTP2 doesn't define any additional semantic value to 1xx status codes. |
Ok, in that case I like adding |
At first 103 might look very similar to server push (promise)
These are just the biggest benefits I see in using 103. |
@seanmonstar jfyi https://early-hints.fastlylabs.com/ Currently hyper just breaks with 103. We would like to fix that. Any pointers? |
@inikulin I'd say the first step would be to update |
As a next step, and without breaking changes, can't we introduce a new method |
The 103 Early Hints is a replacement for Server Push, which get removed from chrome and nginx. Is there any plan to implement this? #601 100-Continue may need to be reworked. |
An HTTP/2.0 stream can begin with an arbitrary number of header frames with a
1xx
status code.The current API does not support this. My best guess would be doing something like this:
client
ResponseFuture
is modified to be a future of (naming TBD):server
Respond
gets a new fn:send_informational(response: Response<()>)
.The text was updated successfully, but these errors were encountered: