Enabling HTTP/3 Support
Learn about HTTP/3 and the steps for enabling it in a .NET web project with a Razor Page code snippet.
Introduction to HTTP/3 protocol
HTTP/3 uses the same request methods, like GET
and POST
, the same status codes, like 200
and 404
, and the same headers, but encodes them and maintains the session state differently because it runs over QUIC rather than the older and less efficient Transmission Control Protocol (TCP).
Browser support for HTTP/3 protocol
At the time of writing, HTTP/3 is supported by about 75% of actively used web browsers, including Chromium-based browsers like Chrome, Edge, and Opera. It is also supported by Firefox and Safari on macOS and iOS (although it is disabled by default).
Benefits of HTTP/3 protocol
HTTP/3 brings benefits to all internet-connected apps, but especially mobile, because it supports connection migration using UDP with TLS built in, so the device does not need to reconnect when moving between WiFi and cellular networks. Each data frame is encrypted separately, so it no longer has the head-of-line blocking problem in HTTP/2 that happens if a TCP packet is lost, and therefore, all the streams are blocked until the data can be recovered.
Operating systems with final support for HTTP/3 in .NET 7
.NET 6 supported HTTP/3 as a preview feature for both clients and servers. .NET 7 delivers final full support for the following operating systems:
Windows 11 and Windows Server 2022.
Linux, we can install QUIC support using the following commad:
Get hands-on with 1400+ tech skills courses.