Go to file
Cesar Blum Silveira 0fafd19ec9 Initial HTTP/2 support.
What works:

- HTTP/2 over TLS1.2 with ALPN
- Request and response flow
  - Headers are compressed and decompressed with HPACK
  - Request body can be read by streams (if present)
  - MVC template app with individual auth works fine
- PRIORITY frames are validated
- RST_STREAM frames are validated and abort streams
- SETTINGS frames are validated and ACKed
- PING frames are validated and ACKed
- GOAWAY frames stop connections
- WINDOW_UPDATE frames are validated
- CONTINUATION frames are sent for large header blocks

What doesn't work yet:

- Flow control in either direction
- It's not possible to encode a single header across more than one frame
  - Affects only a very large header (name and value combined ~16KB long)
- Request trailers
- Response trailers
- Limits and timeouts in `KestrelServerLimits` are not enforced on HTTP/2
- HPACK use is very limited on the send side
  - Literals are not Huffman-encoded
  - Common headers (e.g. "server: Kestrel") are never indexed
- Honoring client settings
- Some error checking is still missing (e.g. validating incoming frame size)
2017-08-16 10:04:44 -07:00
.vscode Initial HTTP/2 support. 2017-08-16 10:04:44 -07:00
build Upgrade to xunit 2.3.0-beta3 2017-08-11 17:22:40 -07:00
samples Consume corefxlab packages and private build of C# compiler (#1976) 2017-08-07 13:58:19 -07:00
src Initial HTTP/2 support. 2017-08-16 10:04:44 -07:00
test Initial HTTP/2 support. 2017-08-16 10:04:44 -07:00
tools/CodeGenerator Initial HTTP/2 support. 2017-08-16 10:04:44 -07:00
.gitattributes
.gitignore Update bootstrappers to use the compiled version of KoreBuild 2017-07-25 16:33:07 -07:00
.travis.yml Shorten folder names 2017-07-28 11:11:55 -07:00
CONTRIBUTING.md
KestrelHttpServer.sln Initial HTTP/2 support. 2017-08-16 10:04:44 -07:00
LICENSE.txt
NuGet.config Switch to v3 NuGet feed 2017-08-15 16:14:19 -07:00
NuGetPackageVerifier.json Removed packages list in NuGetPackageVerifier.json 2016-12-12 00:42:17 -08:00
README.md
ToProjectReferences.ps1
appveyor.yml Skip first time experience on Appveyor 2017-07-10 15:17:41 -07:00
build.cmd Update bootstrappers to use the compiled version of KoreBuild 2017-07-25 16:33:07 -07:00
build.ps1 Update bootstrappers to use the compiled version of KoreBuild 2017-07-25 16:33:07 -07:00
build.sh Ensure fallback to curl after failed wget 2017-08-02 14:32:33 -07:00
version.xml Update bootstrappers to use the compiled version of KoreBuild 2017-07-25 16:33:07 -07:00

README.md

KestrelHttpServer

Join the chat at https://gitter.im/aspnet/KestrelHttpServer

AppVeyor: AppVeyor

Travis: Travis

This repo contains a cross-platform web server for ASP.NET Core.

This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the Home repo.