Skip to content

[HTTP/3] Developers can build libraries for HTTP/3 to meet their client/server needs #43546

@samsp-msft

Description

@samsp-msft

HTTP3 is the next major version of HTTP and the successor to HTTP2. It is in the final stages of standardization in the IETF. Some browsers (notably Chrome) already support draft versions of HTTP3. HTTP3 runs over QUIC, which replaces TCP as the underlying transport. QUIC is also in the final stages of standardization in the IETF. It provides secure, multiplexed streams over UDP. QUIC is a general-purpose, extensible transport protocol and we expect it to be used by other application protocols aside from HTTP3.

Work Items

  • A set of public classes for using the QUIC protocol on either client or server. This is System.Net.Quic. It is the equivalent of System.Net.Sockets for the QUIC protocol.
  • HTTP3 client support in HttpClient/SocketsHttpHandler.
  • Linux support
  • MacOS support

P0

P1

P2

We have already made some progress on this in .NET 5.0 and are delivering HTTP3 support in a “preview”, unsupported capacity. There is no public API for QUIC in .NET 5.0.

We intend to share as much HTTP3 code as is reasonably possible between the client and server implementation.

Metadata

Metadata

Labels

Cost:XLWork that requires one engineer more than 4 weeksPriority:0Work that we can't release withoutTeam:LibrariesUser StoryA single user-facing feature. Can be grouped under an epic.area-System.Net.Http

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions