This repository was archived by the owner on Nov 20, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 191
Add Api for HTTP/2 PushPromise #371
Comments
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. |
As per previous discussion, we'll look into HTTP/2 after RTM. |
Related API questions:
|
Supporting this!!! |
Backlogging this one. cc @DamianEdwards |
This issue was moved to dotnet/aspnetcore#2727 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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
The text was updated successfully, but these errors were encountered: