# h2corn > High-performance ASGI for Python, built in Rust for HTTP/2, HTTP/1.1, WebSockets, and gRPC. ## Documentation - [Home](https://h2corn.monicz.dev/index.md): High-performance ASGI for Python, built in Rust for HTTP/2, HTTP/1.1, WebSockets, and gRPC. - [ASGI surface](https://h2corn.monicz.dev/asgi.md): The ASGI surface h2corn presents to an application — advertised extensions, sending files, lifespan state, and what send() raises. - [Benchmarks](https://h2corn.monicz.dev/benchmarks.md): h2corn throughput, latency, and memory compared with other Python server stacks. - [Python compatibility and wheels](https://h2corn.monicz.dev/compatibility.md): Supported runtimes, wheel compatibility, and upgrading h2corn. - [Configuration](https://h2corn.monicz.dev/configuration.md): Every h2corn server option with its CLI flag, environment variable, TOML key, default, precedence, and operational conditions. - [Embedding](https://h2corn.monicz.dev/embedding.md): Run h2corn inside your own event loop with the Server class — startup, shutdown, readiness, and reuse. - [FAQ](https://h2corn.monicz.dev/faq.md): Short answers about h2c, HTTP/1.1, HTTP/3, Windows, Django, gRPC, and where to report bugs. - [gRPC and Connect](https://h2corn.monicz.dev/grpc.md): Host Connect-generated ASGI applications with native gRPC and gRPC-Web on h2corn. - [Guide overview](https://h2corn.monicz.dev/guide.md): Deploy an ASGI application, manage workers and shutdown, use WebSockets, or embed h2corn in an existing event loop. - [License & notices](https://h2corn.monicz.dev/license.md): h2corn's license and the third-party notices included in release packages. - [Migrating](https://h2corn.monicz.dev/migrating.md): Move an ASGI application from Uvicorn, Hypercorn, or Gunicorn to h2corn, including commands, proxy trust, and timeout differences. - [Quickstart](https://h2corn.monicz.dev/quickstart.md): Run an ASGI application with h2corn, enable reload, and try HTTP/2. - [Support](https://h2corn.monicz.dev/support.md): Where to file bugs and security reports, and what commercial support covers. - [Troubleshooting](https://h2corn.monicz.dev/troubleshooting.md): Diagnose protocol mismatches, proxy identity, startup, TLS, reload, and worker failures. - [WebSockets](https://h2corn.monicz.dev/websockets.md): WebSockets over HTTP/1.1 and over HTTP/2 (RFC 8441), the limits that apply, and what a proxy has to do. - [API reference](https://h2corn.monicz.dev/api.md): Public Python API reference for h2corn. - [ASGI applications and aliases](https://h2corn.monicz.dev/api/applications.md): ASGI application aliases, callables, and message unions exported by h2corn. - [Config](https://h2corn.monicz.dev/api/config.md): Reference for Config, RequestPolicy, construction helpers, and option literal types. - [HTTP scope and messages](https://h2corn.monicz.dev/api/http.md): HTTP scopes and request and response messages exported by h2corn. - [Lifespan scope and messages](https://h2corn.monicz.dev/api/lifespan.md): Lifespan scope and startup and shutdown messages exported by h2corn. - [Scopes and extensions](https://h2corn.monicz.dev/api/scopes.md): ASGI version, header, state, and extension types shared by h2corn scopes. - [Server entrypoints](https://h2corn.monicz.dev/api/server.md): Reference for h2corn.serve() and the Server class. - [WebSocket scope and messages](https://h2corn.monicz.dev/api/websockets.md): WebSocket scopes and connection, data, close, and HTTP-response messages exported by h2corn. - [Operations](https://h2corn.monicz.dev/deployment/operations.md): The multi-worker supervisor: signals, rolling reload, live scaling, recycling, health checks, systemd and logs. - [Behind a reverse proxy](https://h2corn.monicz.dev/deployment/proxy.md): Run h2corn behind nginx, Caddy or HAProxy with an h2c upstream, and get the forwarding headers right. - [Direct TLS](https://h2corn.monicz.dev/deployment/tls.md): Terminate TLS in h2corn itself with Rustls, including mutual TLS and reading the client identity from an app.