StackDependenciesHypercorn

Hypercorn

Last updated: Oct 28, 2026


Rationale

Hypercorn is the web server of the Fluid Attacks platform.

These are the primary reasons why Fluid Attacks selected it:

  • It is open source.
  • It has full asynchronous programming support, which is very important for performance.
  • It supports HTTP/2 and HTTP/3. This support is very important for security and performance.
  • It has full parallelism support. Thus, Fluid Attacks can have more than one worker on the same machine, which is very important for performance.
  • It supports hot reloading, which is very important for the development experience.
  • It integrates easily with Starlette.

Alternatives

Fluid Attacks examined these alternatives, but it did not select them for these reasons:

Granian

  • Granian supports only HTTP/2, which decreases security and performance.
  • It is a very experimental project at this time. It can become important in the future.

Socketify.py

  • Socketify supports only HTTP/2, which decreases security and performance.
  • It is much faster only as a framework. To use it as a framework, Fluid Attacks must also replace Starlette with it, and the complexity increases.
  • Its fastest variants must use PyPy, and the complexity increases.
  • It does not support hot reloading, which makes the development experience worse.

Uvicorn

  • Uvicorn supports only HTTP/1.1, which decreases security and performance.
  • It does not support parallelism, which decreases performance.

Gunicorn

  • Gunicorn must use Uvicorn for ASGI support. Thus, it has most of the disadvantages above.
  • With Gunicorn, Fluid Attacks found a high rate of 5XX HTTP errors.

Usage

Fluid Attacks uses Hypercorn as the web server of the Fluid Attacks platform.

On this page