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.