1 comment

[ 5.6 ms ] story [ 13.1 ms ] thread
This was my side project for the last months. Originally I started this as a learning project to get to know both HTTP/2 and .Net core more in detail. After some time in it I decided that throwing it away would be too wasteful and that I want to get it in a production-worthy state. So now with a lot more effort (especially for tests) the core protocol should be fully implemented and working - so everybody who is interested can play around with it.

For anybody who is wondering if this can be used to build a HTTP/2 server which can be accessed from browsers: Unfortunately not at the moment :( The blocking issue is that you need a SSL socket with ALPN negotation, which is not yet available in .NET. It might work by using a third party SSL library, wrapping a native SSL library with P/Invoke or by using a SSL proxy. When ALPN support is ready in the .NET Framework or .NET Core it should work without changes to this library.

Unencrypted HTTP/2 for both configurations: HTTP/2 with prior knowledge and upgrades from HTTP/1.1 to HTTP/2 (not supported by browsers).