-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Add Api for HTTP/2 PushPromise #2727
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
Comments
From @benaadams on Saturday, August 15, 2015 10:56:41 PM Additional protocol activation background
In light of this it looks like http/2 is a defacto https only protocol; so PushPromise will only need to work over https and http/2 at this time. |
From @muratg on Thursday, November 19, 2015 10:43:20 AM As per previous discussion, we'll look into HTTP/2 after RTM. |
From @Tratcher on Monday, November 28, 2016 12:08:22 PM Related API questions:
|
From @rh78 on Thursday, December 15, 2016 12:36:21 PM Supporting this!!! |
From @muratg on Wednesday, January 11, 2017 10:34:01 AM Backlogging this one. cc @DamianEdwards |
Is there any update on HTTP/2 server push support for ASP.NET Core? Is it on a roadmap somewhere or ..? |
@codecadwallader for which server? We're looking at HTTP/2 for Kestrel (https://github.com/aspnet/KestrelHttpServer/issues/73) for 2.2, but server push is pretty low on the priorty list there. |
@Tratcher thank you for the quick response and I've asked the same question over there. Particularly via Azure App Service.. so Kestrel with IIS as a reverse proxy in front. |
The IIS+Kestrel reverse proxy scenario is one of the last we'd consider for end-to-end HTTP/2 and/or server push. The reverse proxy makes it an order of magnitude more complex. The new IIS In-Process server we're working on would be a more likely replacement here. |
Ok, thanks for the information. Do you know if the IIS In-Process server is the planned path forwards for Azure App Service? |
Yes it is. |
Any update on the h2 PushPromise. I'd like to try this in .net core. |
Has no progress really been made on this in ~2 years? |
Closing as we've decided not to support push. See #4249 (comment) for details. |
From @benaadams on Saturday, August 15, 2015 1:33:50 PM
Implement the PushPromise api as virtual NoOp in the abstract class HttpResponse.
Background
This API is to support applications sending push promises to HTTP 2.0 clients.
Current .NET v4.6 Api
Parameters
path Type: System.String
The URL of the push request. It should be the virtual path of the relative resource that the server wants to push to the client.
method Type: System.String
Http request method that would be used by the push request.
headers Type: System.Collections.Specialized.NameValueCollection
Http request header that would be used by the push request.
Suggested addition to Microsoft.AspNet.Http.Abstractions/HttpResponse.cs
Remarks
PushPromise is non-deterministic and applications shouldn't have logic that depends on it. Its only purpose is performance advantage in some cases. There are many conditions (protocol and implementation) that may cause to ignore the push requests completely. The expectation is based on fire-and-forget.
Rationale
Its out-of-band data like
headers
andcookies
and is part of the response so should live at theHttpResponse
level.It is a core feature of http/2 rather than a extended addition that might be
HttpContext
related.Its now standardised and implemented in all browsers - so is something I assume will be implemented in ASP.NET 5.
It already comes with two huge caveats:
Which means it doesn't actually have to do anything at this time.
Suggested Api
Copied from original issue: aspnet/HttpAbstractions#371
The text was updated successfully, but these errors were encountered: