# HttpArena > Independent webserver benchmarks across every major framework and protocol (H1, H2, H3, gRPC, WebSocket) in multiple categories. Every entry runs in a container on the same machine (AMD Ryzen Threadripper PRO 3995WX 64-Cores, 64 cores), pinned to dedicated cores, one connection count per run. Round: Alpha Round. The leaderboard at https://http-arena.com/ is rendered client-side, so the ranking below is the same data as text. Scores are the composite: each profile is worth 100 to the best entry in the field and a framework's score is the sum over the profiles of that family, scaled by its completeness factor - the entry loses 2.5% for each of routing, middleware, the request it hands you and the response it builds that it does not do, so the factor runs from 1.00 down to 0.90. Engine and infrastructure entries are not graded on it. ## HTTP/1.1 composite ranking - flagship and emerging, 99 entries ``` 1. genhttp-ioxide C# 7309 2. cpeak Rust 7259 3. tako Rust 6919 4. dusty Zig 6889 5. actix Rust 6598 6. spliffy JS 6424 7. fiber-tuned Go 6343 8. fulmine.js JS 6200 9. fiber Go 5902 10. simplew-tuned C# 5835 11. bun TS 5834 12. ntex Rust 5743 13. morojs JS 5652 14. vertx Java 5344 15. libuvcpp C++ 5115 16. true-async-server PHP 5098 17. swoole PHP 4871 18. genhttp C# 4744 19. hyper-express JS 4621 20. ultimate-express JS 4420 ``` Full field: https://http-arena.com/llms-full.txt ## HTTP/2 composite ranking - flagship and emerging, 31 entries ``` 1. genhttp-ioxide C# 3467 2. bun TS 3112 3. libuvcpp C++ 2443 4. true-async-server PHP 2358 5. quarkus-jvm Java 1788 6. wtx Rust 1658 7. helidon-tuned Java 1634 8. actix Rust 1467 9. helidon-production Java 1436 10. oxpecker F# 1023 11. trillium-tuned Rust 982 12. fastendpoints C# 852 13. aspnet-minimal C# 833 14. h2o-mruby Ruby 811 15. ktor-tuned Kotlin 786 16. aspnet-minimal-11 C# 770 17. php-fpm PHP 741 18. trillium Rust 700 19. neton Kotlin 590 20. tako Rust 588 ``` Full field: https://http-arena.com/llms-full.txt ## HTTP/3 composite ranking - flagship and emerging, 16 entries ``` 1. bun TS 1950 2. libuvcpp C++ 1766 3. h2o-mruby Ruby 1713 4. genhttp-ioxide C# 1358 5. trillium-tuned Rust 908 6. trillium Rust 881 7. php-fpm PHP 879 8. genhttp-kestrel C# 730 9. fastendpoints C# 673 10. tako Rust 560 11. ktor Kotlin 464 12. aspnet-minimal C# 376 13. ktor-tuned Kotlin 375 14. aspnet-minimal-11 C# 305 15. oxpecker F# 290 16. roadrunner Erlang 150 ``` ## Gateway composite ranking - flagship and emerging, 8 entries ``` 1. libuvcpp C++ 2763 2. fulmine.js JS 2444 3. aspnet-minimal + nginx C# 1875 4. morojs JS 1835 5. tako Rust 1477 6. trillium Rust 1174 7. trillium-tuned Rust 1150 8. aspnet-minimal + caddy C# 870 ``` ## gRPC composite ranking - flagship and emerging, 10 entries ``` 1. wtx Rust 2000 2. libuvcpp C++ 1959 3. quarkus-jvm Java 1399 4. aspnet-minimal C# 1166 5. helidon-tuned Java 578 6. helidon-production Java 575 7. grpc-go Go 445 8. trillium-tuned Rust 389 9. trillium Rust 377 10. tako Rust 298 ``` ## WebSocket composite ranking - flagship and emerging, 32 entries ``` 1. genhttp-ioxide C# 2851 2. spliffy JS 2456 3. wtx Rust 2447 4. fulmine.js JS 2431 5. libuvcpp C++ 2173 6. tako Rust 2103 7. dusty Zig 1982 8. bun-websocket TS 1894 9. actix Rust 1776 10. genhttp C# 1744 11. morojs JS 1714 12. beskar-websocket C# 1653 13. fiber Go 1586 14. helidon-production Java 1184 15. helidon-tuned Java 1179 16. genhttp-kestrel C# 1129 17. aspnet-minimal C# 890 18. swoole PHP 881 19. trillium-tuned Rust 805 20. lute Luau 728 ``` Full field: https://http-arena.com/llms-full.txt ## Frameworks (174 entries, one results page each) - [Vinyl Cache](https://http-arena.com/frameworks/vinyl-cache/): C, Infrastructure. Rank per family and every per-profile number. - [WebFramework C++](https://http-arena.com/frameworks/webframework-c/): C++, production. Rank per family and every per-profile number. - [WebFramework Python](https://http-arena.com/frameworks/webframework-python/): Pyton, production. Rank per family and every per-profile number. - [actix](https://http-arena.com/frameworks/actix/): Rust, Flagship. Rank per family and every per-profile number. - [aegon](https://http-arena.com/frameworks/aegon/): C++, Experimental. Rank per family and every per-profile number. - [agensio](https://http-arena.com/frameworks/agensio/): C++, Infrastructure. Rank per family and every per-profile number. - [aiohttp](https://http-arena.com/frameworks/aiohttp/): Python, Flagship. Rank per family and every per-profile number. - [aleph](https://http-arena.com/frameworks/aleph/): Clojure, Engine. Rank per family and every per-profile number. - [aspnet-minimal](https://http-arena.com/frameworks/aspnet-minimal/): C#, Flagship. Rank per family and every per-profile number. - [aspnet-minimal + caddy](https://http-arena.com/frameworks/aspnet-minimal-caddy/): C#, Flagship. Rank per family and every per-profile number. - [aspnet-minimal + nginx](https://http-arena.com/frameworks/aspnet-minimal-nginx/): C#, Flagship. Rank per family and every per-profile number. - [aspnet-minimal-11](https://http-arena.com/frameworks/aspnet-minimal-11/): C#, Flagship. Rank per family and every per-profile number. - [aspnet-minimal-satorigc](https://http-arena.com/frameworks/aspnet-minimal-satorigc/): C#, Experimental. Rank per family and every per-profile number. - [axum](https://http-arena.com/frameworks/axum/): Rust, Flagship. Rank per family and every per-profile number. - [beskar-websocket](https://http-arena.com/frameworks/beskar-websocket/): C#, Emerging. Rank per family and every per-profile number. - [blackbull](https://http-arena.com/frameworks/blackbull/): Python, Emerging. Rank per family and every per-profile number. - [bottle](https://http-arena.com/frameworks/bottle/): Python, Flagship. Rank per family and every per-profile number. - [bun](https://http-arena.com/frameworks/bun/): TS, Flagship. Rank per family and every per-profile number. - [bun-websocket](https://http-arena.com/frameworks/bun-websocket/): TS, Emerging. Rank per family and every per-profile number. - [busker](https://http-arena.com/frameworks/busker/): Clojure, Engine. Rank per family and every per-profile number. - [caddy](https://http-arena.com/frameworks/caddy/): Go, Infrastructure. Rank per family and every per-profile number. - [cadente](https://http-arena.com/frameworks/cadente/): C#, Engine. Rank per family and every per-profile number. - [capra](https://http-arena.com/frameworks/capra/): Clojure, Engine. Rank per family and every per-profile number. - [cardigan](https://http-arena.com/frameworks/cardigan/): Java, Engine. Rank per family and every per-profile number. - [carter](https://http-arena.com/frameworks/carter/): C#, Flagship. Rank per family and every per-profile number. - [chi](https://http-arena.com/frameworks/chi/): Go, Flagship. Rank per family and every per-profile number. - [codebehind](https://http-arena.com/frameworks/codebehind/): C#, Flagship. Rank per family and every per-profile number. - [cpeak](https://http-arena.com/frameworks/cpeak/): Rust, Emerging. Rank per family and every per-profile number. - [cutelyst](https://http-arena.com/frameworks/cutelyst/): C++, Flagship. Rank per family and every per-profile number. - [deno](https://http-arena.com/frameworks/deno/): TS, Engine. Rank per family and every per-profile number. - [django](https://http-arena.com/frameworks/django/): Python, Flagship. Rank per family and every per-profile number. - [drogon](https://http-arena.com/frameworks/drogon/): C++, Flagship. Rank per family and every per-profile number. - [dusty](https://http-arena.com/frameworks/dusty/): Zig, Emerging. Rank per family and every per-profile number. - [echo](https://http-arena.com/frameworks/echo/): Go, Flagship. Rank per family and every per-profile number. - [edixoi](https://http-arena.com/frameworks/edixoi/): C#, Engine. Rank per family and every per-profile number. - [effinitive](https://http-arena.com/frameworks/effinitive/): C#, Experimental. Rank per family and every per-profile number. - [elysia](https://http-arena.com/frameworks/elysia/): TS, Flagship. Rank per family and every per-profile number. - [epoxide](https://http-arena.com/frameworks/epoxide/): C#, Engine. Rank per family and every per-profile number. - [express](https://http-arena.com/frameworks/express/): JS, Flagship. Rank per family and every per-profile number. - [fastapi](https://http-arena.com/frameworks/fastapi/): Python, Flagship. Rank per family and every per-profile number. - [fastendpoints](https://http-arena.com/frameworks/fastendpoints/): C#, Flagship. Rank per family and every per-profile number. - [fastify](https://http-arena.com/frameworks/fastify/): JS, Flagship. Rank per family and every per-profile number. - [fastpysgi-asgi](https://http-arena.com/frameworks/fastpysgi-asgi/): Python, Engine. Rank per family and every per-profile number. - [fastpysgi-wsgi](https://http-arena.com/frameworks/fastpysgi-wsgi/): Python, Engine. Rank per family and every per-profile number. - [feersum](https://http-arena.com/frameworks/feersum/): Perl, Engine. Rank per family and every per-profile number. - [fib](https://http-arena.com/frameworks/fib/): Go, Experimental. Rank per family and every per-profile number. - [fib-tuned](https://http-arena.com/frameworks/fib-tuned/): Go, Experimental. Rank per family and every per-profile number. - [fiber](https://http-arena.com/frameworks/fiber/): Go, Flagship. Rank per family and every per-profile number. - [fiber-tuned](https://http-arena.com/frameworks/fiber-tuned/): Go, Flagship. Rank per family and every per-profile number. - [flask](https://http-arena.com/frameworks/flask/): Python, Flagship. Rank per family and every per-profile number. - [fletch](https://http-arena.com/frameworks/fletch/): Dart, Emerging. Rank per family and every per-profile number. - [fnet-ws](https://http-arena.com/frameworks/fnet-ws/): Go, Experimental. Rank per family and every per-profile number. - [fulmine.js](https://http-arena.com/frameworks/fulmine.js/): JS, Emerging. Rank per family and every per-profile number. - [genhttp](https://http-arena.com/frameworks/genhttp/): C#, Emerging. Rank per family and every per-profile number. - [genhttp-ioxide](https://http-arena.com/frameworks/genhttp-ioxide/): C#, Emerging. Rank per family and every per-profile number. - [genhttp-kestrel](https://http-arena.com/frameworks/genhttp-kestrel/): C#, Emerging. Rank per family and every per-profile number. - [gin](https://http-arena.com/frameworks/gin/): Go, Flagship. Rank per family and every per-profile number. - [go-fasthttp](https://http-arena.com/frameworks/go-fasthttp/): Go, Flagship. Rank per family and every per-profile number. - [go-stdlib](https://http-arena.com/frameworks/go-stdlib/): Go, Flagship. Rank per family and every per-profile number. - [go-websocket](https://http-arena.com/frameworks/go-websocket/): Go, Emerging. Rank per family and every per-profile number. - [grpc-go](https://http-arena.com/frameworks/grpc-go/): Go, Emerging. Rank per family and every per-profile number. - [h2o](https://http-arena.com/frameworks/h2o/): C, Infrastructure. Rank per family and every per-profile number. - [h2o-mruby](https://http-arena.com/frameworks/h2o-mruby/): Ruby, Flagship. Rank per family and every per-profile number. - [hanami](https://http-arena.com/frameworks/hanami/): Ruby, Flagship. Rank per family and every per-profile number. - [helidon-production](https://http-arena.com/frameworks/helidon-production/): Java, Flagship. Rank per family and every per-profile number. - [helidon-tuned](https://http-arena.com/frameworks/helidon-tuned/): Java, Flagship. Rank per family and every per-profile number. - [hical](https://http-arena.com/frameworks/hical/): C++, Experimental. Rank per family and every per-profile number. - [hirundo](https://http-arena.com/frameworks/hirundo/): Clojure, Engine. Rank per family and every per-profile number. - [hono-bun](https://http-arena.com/frameworks/hono-bun/): TS, Flagship. Rank per family and every per-profile number. - [hono-node](https://http-arena.com/frameworks/hono-node/): TS, Flagship. Rank per family and every per-profile number. - [http-kit](https://http-arena.com/frameworks/http-kit/): Clojure, Engine. Rank per family and every per-profile number. - [http.jl](https://http-arena.com/frameworks/http.jl/): Julia, Emerging. Rank per family and every per-profile number. - [http4k](https://http-arena.com/frameworks/http4k/): Kotlin, Flagship. Rank per family and every per-profile number. - [http4s](https://http-arena.com/frameworks/http4s/): Scala, Flagship. Rank per family and every per-profile number. - [humming-bird](https://http-arena.com/frameworks/humming-bird/): Swift, Flagship. Rank per family and every per-profile number. - [hyper](https://http-arena.com/frameworks/hyper/): Rust, Engine. Rank per family and every per-profile number. - [hyper-express](https://http-arena.com/frameworks/hyper-express/): JS, Emerging. Rank per family and every per-profile number. - [hyperf](https://http-arena.com/frameworks/hyperf/): PHP, Flagship. Rank per family and every per-profile number. - [ioxide](https://http-arena.com/frameworks/ioxide/): C#, Engine. Rank per family and every per-profile number. - [ioxide-pipes](https://http-arena.com/frameworks/ioxide-pipes/): C#, Engine. Rank per family and every per-profile number. - [jooby](https://http-arena.com/frameworks/jooby/): Java, Flagship. Rank per family and every per-profile number. - [kestrel](https://http-arena.com/frameworks/kestrel/): C#, Engine. Rank per family and every per-profile number. - [koa](https://http-arena.com/frameworks/koa/): JS, Flagship. Rank per family and every per-profile number. - [ktor](https://http-arena.com/frameworks/ktor/): Kotlin, Flagship. Rank per family and every per-profile number. - [ktor-tuned](https://http-arena.com/frameworks/ktor-tuned/): Kotlin, Flagship. Rank per family and every per-profile number. - [lapis](https://http-arena.com/frameworks/lapis/): Lua, Flagship. Rank per family and every per-profile number. - [libioma](https://http-arena.com/frameworks/libioma/): C, Engine. Rank per family and every per-profile number. - [libreactorng](https://http-arena.com/frameworks/libreactorng/): C, Engine. Rank per family and every per-profile number. - [libuvcpp](https://http-arena.com/frameworks/libuvcpp/): C++, Emerging. Rank per family and every per-profile number. - [libxev](https://http-arena.com/frameworks/libxev/): Zig, Engine. Rank per family and every per-profile number. - [litestar](https://http-arena.com/frameworks/litestar/): Python, Flagship. Rank per family and every per-profile number. - [lute](https://http-arena.com/frameworks/lute/): Luau, Emerging. Rank per family and every per-profile number. - [micronaut](https://http-arena.com/frameworks/micronaut/): Java, Flagship. Rank per family and every per-profile number. - [minima-sync](https://http-arena.com/frameworks/minima-sync/): C#, Engine. Rank per family and every per-profile number. - [minima-ws](https://http-arena.com/frameworks/minima-ws/): C#, Engine. Rank per family and every per-profile number. - [mojolicious](https://http-arena.com/frameworks/mojolicious/): Perl, Flagship. Rank per family and every per-profile number. - [mongoose](https://http-arena.com/frameworks/mongoose/): C, Engine. Rank per family and every per-profile number. - [morojs](https://http-arena.com/frameworks/morojs/): JS, Emerging. Rank per family and every per-profile number. - [mq-bridge](https://http-arena.com/frameworks/mq-bridge/): Rust, Emerging. Rank per family and every per-profile number. - [mq-bridge-py](https://http-arena.com/frameworks/mq-bridge-py/): Python, Emerging. Rank per family and every per-profile number. - [neton](https://http-arena.com/frameworks/neton/): Kotlin, Emerging. Rank per family and every per-profile number. - [nginx](https://http-arena.com/frameworks/nginx/): C, Infrastructure. Rank per family and every per-profile number. - [nilo](https://http-arena.com/frameworks/nilo/): Zig, Experimental. Rank per family and every per-profile number. - [node](https://http-arena.com/frameworks/node/): JS, Engine. Rank per family and every per-profile number. - [node-h3](https://http-arena.com/frameworks/node-h3/): JS, Flagship. Rank per family and every per-profile number. - [ntex](https://http-arena.com/frameworks/ntex/): Rust, Flagship. Rank per family and every per-profile number. - [orisha](https://http-arena.com/frameworks/orisha/): Koru, Engine. Rank per family and every per-profile number. - [orisha-uring](https://http-arena.com/frameworks/orisha-uring/): Koru, Engine. Rank per family and every per-profile number. - [oxpecker](https://http-arena.com/frameworks/oxpecker/): F#, Emerging. Rank per family and every per-profile number. - [pedestal](https://http-arena.com/frameworks/pedestal/): Clojure, Engine. Rank per family and every per-profile number. - [phoenix-bandit](https://http-arena.com/frameworks/phoenix-bandit/): Elixir, Flagship. Rank per family and every per-profile number. - [php-fpm](https://http-arena.com/frameworks/php-fpm/): PHP, Flagship. Rank per family and every per-profile number. - [plug-cowboy](https://http-arena.com/frameworks/plug-cowboy/): Elixir, Flagship. Rank per family and every per-profile number. - [proxygen](https://http-arena.com/frameworks/proxygen/): C++, Engine. Rank per family and every per-profile number. - [proxygen-coro](https://http-arena.com/frameworks/proxygen-coro/): C++, Engine. Rank per family and every per-profile number. - [pyronova](https://http-arena.com/frameworks/pyronova/): Python, Experimental. Rank per family and every per-profile number. - [quarkus-jvm](https://http-arena.com/frameworks/quarkus-jvm/): Java, Flagship. Rank per family and every per-profile number. - [rack-falcon](https://http-arena.com/frameworks/rack-falcon/): Ruby, Engine. Rank per family and every per-profile number. - [rack-iodine](https://http-arena.com/frameworks/rack-iodine/): Ruby, Engine. Rank per family and every per-profile number. - [rage](https://http-arena.com/frameworks/rage/): Ruby, Flagship. Rank per family and every per-profile number. - [rails](https://http-arena.com/frameworks/rails/): Ruby, Flagship. Rank per family and every per-profile number. - [reitit](https://http-arena.com/frameworks/reitit/): Clojure, Flagship. Rank per family and every per-profile number. - [ring-http-exchange](https://http-arena.com/frameworks/ring-http-exchange/): Clojure, Emerging. Rank per family and every per-profile number. - [ring-jetty-adapter](https://http-arena.com/frameworks/ring-jetty-adapter/): Clojure, Engine. Rank per family and every per-profile number. - [ring-jetty9-adapter](https://http-arena.com/frameworks/ring-jetty9-adapter/): Clojure, Engine. Rank per family and every per-profile number. - [ringzero-ws](https://http-arena.com/frameworks/ringzero-ws/): C, Engine. Rank per family and every per-profile number. - [roadrunner](https://http-arena.com/frameworks/roadrunner/): Erlang, Emerging. Rank per family and every per-profile number. - [robyn](https://http-arena.com/frameworks/robyn/): Python, Emerging. Rank per family and every per-profile number. - [rocket](https://http-arena.com/frameworks/rocket/): Rust, Flagship. Rank per family and every per-profile number. - [roda](https://http-arena.com/frameworks/roda/): Ruby, Flagship. Rank per family and every per-profile number. - [salvo](https://http-arena.com/frameworks/salvo/): Rust, Flagship. Rank per family and every per-profile number. - [sanic](https://http-arena.com/frameworks/sanic/): Python, Flagship. Rank per family and every per-profile number. - [sark](https://http-arena.com/frameworks/sark/): Rust, Engine. Rank per family and every per-profile number. - [servicestack](https://http-arena.com/frameworks/servicestack/): C#, Flagship. Rank per family and every per-profile number. - [simplew](https://http-arena.com/frameworks/simplew/): C#, Emerging. Rank per family and every per-profile number. - [simplew-tuned](https://http-arena.com/frameworks/simplew-tuned/): C#, Emerging. Rank per family and every per-profile number. - [sinatra](https://http-arena.com/frameworks/sinatra/): Ruby, Flagship. Rank per family and every per-profile number. - [sisk](https://http-arena.com/frameworks/sisk/): C#, Emerging. Rank per family and every per-profile number. - [slimeweb](https://http-arena.com/frameworks/slimeweb/): Python, Emerging. Rank per family and every per-profile number. - [sockets](https://http-arena.com/frameworks/sockets/): C#, Engine. Rank per family and every per-profile number. - [spliffy](https://http-arena.com/frameworks/spliffy/): JS, Emerging. Rank per family and every per-profile number. - [spring-boot](https://http-arena.com/frameworks/spring-boot/): Java, Flagship. Rank per family and every per-profile number. - [starlette](https://http-arena.com/frameworks/starlette/): Python, Flagship. Rank per family and every per-profile number. - [swerver](https://http-arena.com/frameworks/swerver/): Zig, Experimental. Rank per family and every per-profile number. - [swerverts](https://http-arena.com/frameworks/swerverts/): TS, Experimental. Rank per family and every per-profile number. - [swoole](https://http-arena.com/frameworks/swoole/): PHP, Flagship. Rank per family and every per-profile number. - [symfony-spawn-tas](https://http-arena.com/frameworks/symfony-spawn-tas/): PHP, Emerging. Rank per family and every per-profile number. - [tako](https://http-arena.com/frameworks/tako/): Rust, Emerging. Rank per family and every per-profile number. - [tokio](https://http-arena.com/frameworks/tokio/): Rust, Engine. Rank per family and every per-profile number. - [tokio-uring](https://http-arena.com/frameworks/tokio-uring/): Rust, Engine. Rank per family and every per-profile number. - [tokio-uring-ws](https://http-arena.com/frameworks/tokio-uring-ws/): Rust, Engine. Rank per family and every per-profile number. - [tokio-websockets](https://http-arena.com/frameworks/tokio-websockets/): Rust, Engine. Rank per family and every per-profile number. - [tokio-ws](https://http-arena.com/frameworks/tokio-ws/): Rust, Engine. Rank per family and every per-profile number. - [toxi](https://http-arena.com/frameworks/toxi/): Rust, Experimental. Rank per family and every per-profile number. - [trillium](https://http-arena.com/frameworks/trillium/): Rust, Emerging. Rank per family and every per-profile number. - [trillium-tuned](https://http-arena.com/frameworks/trillium-tuned/): Rust, Emerging. Rank per family and every per-profile number. - [true-async-server](https://http-arena.com/frameworks/true-async-server/): PHP, Emerging. Rank per family and every per-profile number. - [uWebZockets](https://http-arena.com/frameworks/uwebzockets/): Zig, Experimental. Rank per family and every per-profile number. - [uio-ws](https://http-arena.com/frameworks/uio-ws/): Go, Experimental. Rank per family and every per-profile number. - [ultimate-express](https://http-arena.com/frameworks/ultimate-express/): JS, Emerging. Rank per family and every per-profile number. - [userver](https://http-arena.com/frameworks/userver/): C++, Flagship. Rank per family and every per-profile number. - [uvicorn](https://http-arena.com/frameworks/uvicorn/): Python, Engine. Rank per family and every per-profile number. - [vanilla-epoll](https://http-arena.com/frameworks/vanilla-epoll/): V, Engine. Rank per family and every per-profile number. - [vanilla-io_uring](https://http-arena.com/frameworks/vanilla-io_uring/): V, Engine. Rank per family and every per-profile number. - [varnish](https://http-arena.com/frameworks/varnish/): C, Infrastructure. Rank per family and every per-profile number. - [vertx](https://http-arena.com/frameworks/vertx/): Java, Flagship. Rank per family and every per-profile number. - [vibe.d](https://http-arena.com/frameworks/vibe.d/): D, Emerging. Rank per family and every per-profile number. - [viltrum](https://http-arena.com/frameworks/viltrum/): V, Emerging. Rank per family and every per-profile number. - [warp](https://http-arena.com/frameworks/warp/): Haskell, Flagship. Rank per family and every per-profile number. - [watson](https://http-arena.com/frameworks/watson/): C#, Emerging. Rank per family and every per-profile number. - [wtx](https://http-arena.com/frameworks/wtx/): Rust, Emerging. Rank per family and every per-profile number. - [zeemo](https://http-arena.com/frameworks/zeemo/): Zig, Engine. Rank per family and every per-profile number. - [zinc](https://http-arena.com/frameworks/zinc/): Go, Emerging. Rank per family and every per-profile number. - [zix](https://http-arena.com/frameworks/zix/): Zig, Engine. Rank per family and every per-profile number. ## Head-to-head comparisons - [Every language](https://http-arena.com/compare/all/): every profile of any two of the 173 entries, side by side, whatever they are written in. - [C](https://http-arena.com/compare/c/): every profile of any two of the 8 C entries, side by side. - [C#](https://http-arena.com/compare/csharp/): every profile of any two of the 27 C# entries, side by side. - [C++](https://http-arena.com/compare/cpp/): every profile of any two of the 10 C++ entries, side by side. - [Clojure](https://http-arena.com/compare/clojure/): every profile of any two of the 10 Clojure entries, side by side. - [Elixir](https://http-arena.com/compare/elixir/): every profile of any two of the 2 Elixir entries, side by side. - [Go](https://http-arena.com/compare/go/): every profile of any two of the 15 Go entries, side by side. - [Java](https://http-arena.com/compare/java/): every profile of any two of the 8 Java entries, side by side. - [JS](https://http-arena.com/compare/js/): every profile of any two of the 10 JS entries, side by side. - [Koru](https://http-arena.com/compare/koru/): every profile of any two of the 2 Koru entries, side by side. - [Kotlin](https://http-arena.com/compare/kotlin/): every profile of any two of the 4 Kotlin entries, side by side. - [Perl](https://http-arena.com/compare/perl/): every profile of any two of the 2 Perl entries, side by side. - [PHP](https://http-arena.com/compare/php/): every profile of any two of the 5 PHP entries, side by side. - [Python](https://http-arena.com/compare/python/): every profile of any two of the 16 Python entries, side by side. - [Ruby](https://http-arena.com/compare/ruby/): every profile of any two of the 8 Ruby entries, side by side. - [Rust](https://http-arena.com/compare/rust/): every profile of any two of the 19 Rust entries, side by side. - [TS](https://http-arena.com/compare/ts/): every profile of any two of the 7 TS entries, side by side. - [V](https://http-arena.com/compare/v/): every profile of any two of the 3 V entries, side by side. - [Zig](https://http-arena.com/compare/zig/): every profile of any two of the 7 Zig entries, side by side. ## Documentation - [Knowledge Base](https://http-arena.com/docs/): How the HttpArena benchmarks work: what each test profile measures, how the load generators drive traffic, and how results are scored. - [Add a Framework](https://http-arena.com/docs/add-framework/) (Knowledge Base): Submit a framework to HttpArena: create a Dockerfile, declare metadata, implement the required endpoints, and open a pull request. - [README Badge](https://http-arena.com/docs/add-framework/badges/) (Knowledge Base > Add a Framework): Add a live HttpArena rank badge to your project's README: one URL per protocol family, updated every time the leaderboard is republished. - [Directory Structure](https://http-arena.com/docs/add-framework/directory-structure/) (Knowledge Base > Add a Framework): The files every HttpArena entry provides under frameworks/, and what each one is used for during build, validation and benchmarking. - [Implementation Rules](https://http-arena.com/docs/add-framework/implementation-rules/) (Knowledge Base > Add a Framework): Every entry declares a type in meta.json. Learn which rules apply to framework, engine, infrastructure and experimental entries, and how each is ranked. - [Engine](https://http-arena.com/docs/add-framework/implementation-rules/engine/) (Knowledge Base > Add a Framework > Implementation Rules): Rules for engine entries: HTTP implementations applications are not written against - raw sockets, low-level I/O and protocol hosts - ranked separately from frameworks. - [Frameworks](https://http-arena.com/docs/add-framework/implementation-rules/frameworks/) (Knowledge Base > Add a Framework > Implementation Rules): How framework entries are grouped into the Flagship, Emerging and Experimental tiers, and what each tier requires of a submission. - [Standard](https://http-arena.com/docs/add-framework/implementation-rules/frameworks/standard/) (Knowledge Base > Add a Framework > Implementation Rules > Frameworks): Standard mode measures a framework in its default configuration, with no experimental flags, reflecting what developers get out of the box. - [Tuned](https://http-arena.com/docs/add-framework/implementation-rules/frameworks/tuned/) (Knowledge Base > Add a Framework > Implementation Rules > Frameworks): Tuned mode allows non-default configuration, experimental flags and optimizations beyond what a framework ships with by default. - [Infrastructure](https://http-arena.com/docs/add-framework/implementation-rules/infrastructure/) (Knowledge Base > Add a Framework > Implementation Rules): Rules for infrastructure entries: reverse proxies and static-file servers such as nginx, Caddy and h2o, run without an application framework layer and ranked separately. - [meta.json](https://http-arena.com/docs/add-framework/meta-json/) (Knowledge Base > Add a Framework): Every field in a framework's meta.json: display name, language, type, mode, engine, maintainers, and the tests the entry subscribes to. - [Hardware & Topology](https://http-arena.com/docs/hardware/) (Knowledge Base): The reference machine behind every HttpArena result: an AMD Threadripper PRO 3995WX workstation, its CPU topology, and how cores are allocated. - [Load Generators](https://http-arena.com/docs/load-generators/) (Knowledge Base): HttpArena drives each transport with a purpose-built load generator. An overview of gcannon, wrk, zrk, h2load and h2load-h3, and when each is used. - [HTTP/1.1](https://http-arena.com/docs/load-generators/h1/) (Knowledge Base > Load Generators): The load generators behind the HTTP/1.1 profiles: gcannon for most workloads, wrk for URI-rotating static file tests, and zrk for the fixed-rate Latency-1M profile. - [gcannon](https://http-arena.com/docs/load-generators/h1/gcannon/) (Knowledge Base > Load Generators > HTTP/1.1): gcannon is HttpArena's purpose-built HTTP/1.1 load generator, using Linux io_uring for zero-copy networking at very high request rates. - [wrk](https://http-arena.com/docs/load-generators/h1/wrk/) (Knowledge Base > Load Generators > HTTP/1.1): HttpArena uses wrk with a Lua script to rotate across 20 URIs for the static file profile, measuring realistic multi-asset page loads. - [zrk](https://http-arena.com/docs/load-generators/h1/zrk/) (Knowledge Base > Load Generators > HTTP/1.1): HttpArena uses zrk to hold a fixed offered rate for the Latency-1M profile, with coordinated-omission correction and a machine-readable summary. - [HTTP/2](https://http-arena.com/docs/load-generators/h2/) (Knowledge Base > Load Generators): How HttpArena generates multiplexed HTTP/2 load for the TLS and cleartext (h2c) profiles. - [h2load](https://http-arena.com/docs/load-generators/h2/h2load/) (Knowledge Base > Load Generators > HTTP/2): h2load from the nghttp2 project drives every HTTP/2 profile in HttpArena, with configurable concurrent streams per connection. - [HTTP/3](https://http-arena.com/docs/load-generators/h3/) (Knowledge Base > Load Generators): How HttpArena generates HTTP/3 traffic over QUIC, and why a custom ngtcp2 build replaced the previous tool. - [h2load-h3](https://http-arena.com/docs/load-generators/h3/h2load-h3/) (Knowledge Base > Load Generators > HTTP/3): A custom h2load build linked against ngtcp2 that drives HttpArena's HTTP/3 profiles over QUIC with ALPN negotiation. - [WebSocket](https://http-arena.com/docs/load-generators/ws/) (Knowledge Base > Load Generators): HttpArena drives its WebSocket profiles with gcannon in --ws mode, reusing the same io_uring engine as the HTTP/1.1 tests. - [Running Locally](https://http-arena.com/docs/running-locally/) (Knowledge Base): Run the full HttpArena benchmark suite on your own machine, from prerequisites through to saving and comparing results. - [Archiving Rounds](https://http-arena.com/docs/running-locally/archiving-rounds/) (Knowledge Base > Running Locally): Snapshot the current results as a named round so previous benchmark generations stay browsable on the leaderboard. - [Configuration](https://http-arena.com/docs/running-locally/configuration/) (Knowledge Base > Running Locally): Every environment variable the benchmark driver accepts, plus the anatomy of a profile definition in profiles.sh. - [Manual load testing](https://http-arena.com/docs/running-locally/manual-load-testing/) (Knowledge Base > Running Locally): Start a framework container yourself, exercise individual endpoints, and run a load generator outside the benchmark harness. - [Prerequisites](https://http-arena.com/docs/running-locally/prerequisites/) (Knowledge Base > Running Locally): What to install before running HttpArena locally: Docker, the load generator toolchain, and the host settings the driver expects. - [Scripts Reference](https://http-arena.com/docs/running-locally/scripts/) (Knowledge Base > Running Locally): Every script in scripts/, what it does, and the arguments it takes: benchmark, validate, compare, archive and run. - [archive.sh](https://http-arena.com/docs/running-locally/scripts/archive/) (Knowledge Base > Running Locally > Scripts Reference): Snapshot current results as a named round, list archived rounds, or delete one, using scripts/archive.sh. - [benchmark.sh](https://http-arena.com/docs/running-locally/scripts/benchmark/) (Knowledge Base > Running Locally > Scripts Reference): The full-fidelity driver: runs a framework across every profile it subscribes to, tunes the host, collects metrics and saves results. - [benchmark-lite.sh](https://http-arena.com/docs/running-locally/scripts/benchmark-lite/) (Knowledge Base > Running Locally > Scripts Reference): The laptop-friendly benchmark driver: Docker-only load generators, no CPU pinning, reduced thread counts and a smaller profile subset. - [compare.sh](https://http-arena.com/docs/running-locally/scripts/compare/) (Knowledge Base > Running Locally > Scripts Reference): Diff a framework's local results against the published leaderboard data and emit a Markdown table of deltas for a pull request. - [run.sh](https://http-arena.com/docs/running-locally/scripts/run/) (Knowledge Base > Running Locally > Scripts Reference): Build and start a single framework container with all data volumes and a Postgres sidecar attached, for hands-on testing. - [validate.sh](https://http-arena.com/docs/running-locally/scripts/validate/) (Knowledge Base > Running Locally > Scripts Reference): Run the correctness suite against a framework: builds the image, starts the container and sidecars, and checks every subscribed endpoint. - [Setup](https://http-arena.com/docs/running-locally/setup/) (Knowledge Base > Running Locally): Clone HttpArena and install the native load generators, or take the Docker-only path if you would rather not build them. - [Scoring](https://http-arena.com/docs/scoring/) (Knowledge Base): How HttpArena turns per-profile throughput into the composite score that ranks frameworks across the whole test suite. - [Achievements](https://http-arena.com/docs/scoring/achievements/) (Knowledge Base > Scoring): Medals on the leaderboard: top three of a family composite, of a language and of a single test profile, always inside the entry's own league. - [Completeness](https://http-arena.com/docs/scoring/completeness/) (Knowledge Base > Scoring): The completeness factor: routing, middleware, request and response. Each one a framework leaves to you costs 2.5% of its composite score. - [Composite Score](https://http-arena.com/docs/scoring/composite-score/) (Knowledge Base > Scoring): The composite score explained: per-profile normalization, the sum across scored profiles, the compression adjustment and the memory bonus. - [Test Profiles](https://http-arena.com/docs/test-profiles/) (Knowledge Base): Every HttpArena benchmark profile, each isolating a different performance dimension so frameworks are compared on equal terms. - [Gateway](https://http-arena.com/docs/test-profiles/gateway/) (Knowledge Base > Test Profiles): Multi-service benchmark profiles: reverse proxy plus application server, with optional auth sidecars, caches and a database. - [Gateway H2](https://http-arena.com/docs/test-profiles/gateway/gateway-h2/) (Knowledge Base > Test Profiles > Gateway): A two-service proxy and server stack over HTTP/2 with TLS: the proxy serves static files from disk and forwards dynamic endpoints. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/gateway/gateway-h2/implementation/) (Knowledge Base > Test Profiles > Gateway > Gateway H2): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Gateway H2 proxy and server stack. - [Validation](https://http-arena.com/docs/test-profiles/gateway/gateway-h2/validation/) (Knowledge Base > Test Profiles > Gateway > Gateway H2): The correctness checks validate.sh runs against the Gateway H2 proxy and server stack before a framework's results are accepted. - [Gateway-H3](https://http-arena.com/docs/test-profiles/gateway/gateway-h3/) (Knowledge Base > Test Profiles > Gateway): The HTTP/3 sibling of the Gateway H2 profile: QUIC at the edge, the same mixed workload and the same 64-CPU budget. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/gateway/gateway-h3/implementation/) (Knowledge Base > Test Profiles > Gateway > Gateway-H3): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Gateway H3 proxy and server stack. - [Validation](https://http-arena.com/docs/test-profiles/gateway/gateway-h3/validation/) (Knowledge Base > Test Profiles > Gateway > Gateway-H3): The correctness checks validate.sh runs against the Gateway H3 proxy and server stack before a framework's results are accepted. - [Production Stack](https://http-arena.com/docs/test-profiles/gateway/production-stack/) (Knowledge Base > Test Profiles > Gateway): A four-service CRUD API deployment: reverse proxy, JWT auth sidecar, Redis cache and application server under concurrent reads and writes. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/gateway/production-stack/implementation/) (Knowledge Base > Test Profiles > Gateway > Production Stack): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the four-service Production Stack deployment. - [Validation](https://http-arena.com/docs/test-profiles/gateway/production-stack/validation/) (Knowledge Base > Test Profiles > Gateway > Production Stack): The correctness checks validate.sh runs against the four-service Production Stack deployment before a framework's results are accepted. - [gRPC](https://http-arena.com/docs/test-profiles/grpc/) (Knowledge Base > Test Profiles): gRPC benchmark profiles measuring Protocol Buffers over HTTP/2, in both cleartext (h2c) and TLS variants. - [Unary (gRPC)](https://http-arena.com/docs/test-profiles/grpc/unary/) (Knowledge Base > Test Profiles > gRPC): Measures unary gRPC call throughput over cleartext HTTP/2 using a simple GetSum remote procedure call. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/grpc/unary/implementation/) (Knowledge Base > Test Profiles > gRPC > Unary (gRPC)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the unary gRPC benchmark. - [Validation](https://http-arena.com/docs/test-profiles/grpc/unary/validation/) (Knowledge Base > Test Profiles > gRPC > Unary (gRPC)): The correctness checks validate.sh runs against the unary gRPC benchmark before a framework's results are accepted. - [H/1.1](https://http-arena.com/docs/test-profiles/h1/) (Knowledge Base > Test Profiles): Single-endpoint HTTP/1.1 benchmarks, each isolating one dimension: throughput, JSON, TLS echo, static files, concurrency, CPU cost and database access. - [8Gbit](https://http-arena.com/docs/test-profiles/h1/8gbit/) (Knowledge Base > Test Profiles > H/1.1): Posts a 10 KB body over TLS at a fixed rate and requires it back verbatim, loading ingest and egress together rather than one at a time. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/8gbit/implementation/) (Knowledge Base > Test Profiles > H/1.1 > 8Gbit): Endpoint contract, framing rules, parameters and scoring for the 10 KB TLS echo profile. - [Validation](https://http-arena.com/docs/test-profiles/h1/8gbit/validation/) (Knowledge Base > Test Profiles > H/1.1 > 8Gbit): The byte-exact echo checks validate.sh runs against POST /echo, including the chunked probe, before a framework's results are accepted. - [Async Delay](https://http-arena.com/docs/test-profiles/h1/async/) (Knowledge Base > Test Profiles > H/1.1): Measures how a framework holds tens of thousands of in-flight requests that are each waiting on a timer, with the wait length parsed from the route. - [Async Database (Postgres)](https://http-arena.com/docs/test-profiles/h1/async-database/) (Knowledge Base > Test Profiles > H/1.1): Measures concurrent asynchronous Postgres queries over a network connection, exercising the framework's connection pooling and async I/O. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/async-database/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Async Database (Postgres)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the async Postgres benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/async-database/validation/) (Knowledge Base > Test Profiles > H/1.1 > Async Database (Postgres)): The correctness checks validate.sh runs against the async Postgres benchmark before a framework's results are accepted. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/async/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Async Delay): Endpoint contract, response shape, and the anti-cheat constraints a framework must satisfy for the async delay benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/async/validation/) (Knowledge Base > Test Profiles > H/1.1 > Async Delay): The correctness checks validate.sh runs against the async delay benchmark before a framework's results are accepted. - [Baseline](https://http-arena.com/docs/test-profiles/h1/baseline/) (Knowledge Base > Test Profiles > H/1.1): The primary throughput benchmark: one request at a time per connection over persistent keep-alive connections. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/baseline/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Baseline): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/1.1 baseline throughput benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/baseline/validation/) (Knowledge Base > Test Profiles > H/1.1 > Baseline): The correctness checks validate.sh runs against the HTTP/1.1 baseline throughput benchmark before a framework's results are accepted. - [Fortunes (Templates)](https://http-arena.com/docs/test-profiles/h1/fortunes/) (Knowledge Base > Test Profiles > H/1.1): Database-backed HTML rendering end to end: a Postgres read, runtime row injection, sorting and escape-aware template output. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/fortunes/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Fortunes (Templates)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Fortunes template rendering benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/fortunes/validation/) (Knowledge Base > Test Profiles > H/1.1 > Fortunes (Templates)): The correctness checks validate.sh runs against the Fortunes template rendering benchmark before a framework's results are accepted. - [JSON Compressed](https://http-arena.com/docs/test-profiles/h1/json-compressed/) (Knowledge Base > Test Profiles > H/1.1): The JSON workload under content negotiation: the client advertises gzip and Brotli, and scoring accounts for the response size achieved. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/json-compressed/implementation/) (Knowledge Base > Test Profiles > H/1.1 > JSON Compressed): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the compressed JSON benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/json-compressed/validation/) (Knowledge Base > Test Profiles > H/1.1 > JSON Compressed): The correctness checks validate.sh runs against the compressed JSON benchmark before a framework's results are accepted. - [JSON over TLS](https://http-arena.com/docs/test-profiles/h1/json-tls/) (Knowledge Base > Test Profiles > H/1.1): The JSON processing workload transported over HTTP/1.1 with TLS on a dedicated port, isolating encryption overhead. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/json-tls/implementation/) (Knowledge Base > Test Profiles > H/1.1 > JSON over TLS): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the JSON over TLS benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/json-tls/validation/) (Knowledge Base > Test Profiles > H/1.1 > JSON over TLS): The correctness checks validate.sh runs against the JSON over TLS benchmark before a framework's results are accepted. - [Latency-10K](https://http-arena.com/docs/test-profiles/h1/latency-10k/) (Knowledge Base > Test Profiles > H/1.1): Offers a fixed 10,000 requests per second on the same hardware as Latency-1M, and measures the CPU and latency a server spends while nearly idle. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/latency-10k/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Latency-10K): What to implement, what is measured, and how the near-idle fixed-rate CPU profile at 10,000 requests per second is scored. - [Validation](https://http-arena.com/docs/test-profiles/h1/latency-10k/validation/) (Knowledge Base > Test Profiles > H/1.1 > Latency-10K): How correctness is established for the Latency-10K fixed-rate CPU profile. - [Latency-1M](https://http-arena.com/docs/test-profiles/h1/latency-1m/) (Knowledge Base > Test Profiles > H/1.1): Pins the offered load at one million requests per second and measures the CPU each framework spends to serve it, read exactly from the container's cgroup. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/latency-1m/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Latency-1M): What to implement, what is measured, and how the fixed-rate CPU profile at one million requests per second is scored. - [Validation](https://http-arena.com/docs/test-profiles/h1/latency-1m/validation/) (Knowledge Base > Test Profiles > H/1.1 > Latency-1M): How correctness is established for the Latency-1M fixed-rate CPU profile. - [Latency-500K/8](https://http-arena.com/docs/test-profiles/h1/latency-500k-8cpu/) (Knowledge Base > Test Profiles > H/1.1): Pins the offered load at 500,000 requests per second with the server confined to four cores and their SMT siblings, and measures the CPU it spends and the queue it builds to serve it. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/latency-500k-8cpu/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Latency-500K/8): What to implement, what is measured, and how the fixed-rate CPU profile at 500,000 requests per second on four cores plus SMT is scored. - [Validation](https://http-arena.com/docs/test-profiles/h1/latency-500k-8cpu/validation/) (Knowledge Base > Test Profiles > H/1.1 > Latency-500K/8): How correctness is established for the Latency-500K/8 fixed-rate CPU profile. - [Pipelined (16x)](https://http-arena.com/docs/test-profiles/h1/pipelined/) (Knowledge Base > Test Profiles > H/1.1): Sixteen requests are sent back to back per connection before any response is read, isolating raw I/O throughput from application logic. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/pipelined/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Pipelined (16x)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP pipelining benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/pipelined/validation/) (Knowledge Base > Test Profiles > H/1.1 > Pipelined (16x)): The correctness checks validate.sh runs against the HTTP pipelining benchmark before a framework's results are accepted. - [Short-lived Connection](https://http-arena.com/docs/test-profiles/h1/short-lived/) (Knowledge Base > Test Profiles > H/1.1): The baseline workload with each connection closed after ten requests, measuring TCP handshake and connection setup overhead. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/short-lived/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Short-lived Connection): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the short-lived connection benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/short-lived/validation/) (Knowledge Base > Test Profiles > H/1.1 > Short-lived Connection): The correctness checks validate.sh runs against the short-lived connection benchmark before a framework's results are accepted. - [Static Files (HTTP/1.1 + TLS)](https://http-arena.com/docs/test-profiles/h1/static-tls/) (Knowledge Base > Test Profiles > H/1.1): Serves twenty static files of mixed type and size over HTTP/1.1 + TLS, approximating a realistic page load over an encrypted connection. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h1/static-tls/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Static Files (HTTP/1.1 + TLS)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/1.1 + TLS static file benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h1/static-tls/validation/) (Knowledge Base > Test Profiles > H/1.1 > Static Files (HTTP/1.1 + TLS)): The correctness checks validate.sh runs against the HTTP/1.1 + TLS static file benchmark before a framework's results are accepted. - [Validation](https://http-arena.com/docs/test-profiles/h1/tls/validation/): The opt-in TLS section: certificate rotation, SNI, resumption, close_notify and the vulnerability suite, on the HTTP/1.1 TLS listener. - [H/2](https://http-arena.com/docs/test-profiles/h2/) (Knowledge Base > Test Profiles): HTTP/2 profiles measuring multiplexed stream performance, in both TLS and cleartext prior-knowledge variants. - [Baseline (HTTP/2)](https://http-arena.com/docs/test-profiles/h2/baseline-h2/) (Knowledge Base > Test Profiles > H/2): The baseline throughput workload over encrypted HTTP/2 connections negotiated with TLS and ALPN. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h2/baseline-h2/implementation/) (Knowledge Base > Test Profiles > H/2 > Baseline (HTTP/2)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/2 TLS baseline benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h2/baseline-h2/validation/) (Knowledge Base > Test Profiles > H/2 > Baseline (HTTP/2)): The correctness checks validate.sh runs against the HTTP/2 TLS baseline benchmark before a framework's results are accepted. - [Baseline (H2c)](https://http-arena.com/docs/test-profiles/h2/baseline-h2c/) (Knowledge Base > Test Profiles > H/2): HTTP/2 cleartext on port 8082 with prior-knowledge framing, modelling proxy-to-origin and service-to-service traffic. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h2/baseline-h2c/implementation/) (Knowledge Base > Test Profiles > H/2 > Baseline (H2c)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/2 cleartext baseline benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h2/baseline-h2c/validation/) (Knowledge Base > Test Profiles > H/2 > Baseline (H2c)): The correctness checks validate.sh runs against the HTTP/2 cleartext baseline benchmark before a framework's results are accepted. - [JSON (H2c)](https://http-arena.com/docs/test-profiles/h2/json-h2c/) (Knowledge Base > Test Profiles > H/2): The JSON processing workload served over HTTP/2 cleartext, measuring serialization throughput without TLS overhead. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h2/json-h2c/implementation/) (Knowledge Base > Test Profiles > H/2 > JSON (H2c)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the JSON over HTTP/2 cleartext benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h2/json-h2c/validation/) (Knowledge Base > Test Profiles > H/2 > JSON (H2c)): The correctness checks validate.sh runs against the JSON over HTTP/2 cleartext benchmark before a framework's results are accepted. - [Static Files (HTTP/2)](https://http-arena.com/docs/test-profiles/h2/static-h2/) (Knowledge Base > Test Profiles > H/2): Serves twenty static assets over HTTP/2 with TLS, approximating a browser page load across multiplexed streams. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h2/static-h2/implementation/) (Knowledge Base > Test Profiles > H/2 > Static Files (HTTP/2)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/2 static file benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h2/static-h2/validation/) (Knowledge Base > Test Profiles > H/2 > Static Files (HTTP/2)): The correctness checks validate.sh runs against the HTTP/2 static file benchmark before a framework's results are accepted. - [H/3](https://http-arena.com/docs/test-profiles/h3/) (Knowledge Base > Test Profiles): HTTP/3 profiles measuring performance over QUIC. Only frameworks with native QUIC support take part. - [Baseline (HTTP/3)](https://http-arena.com/docs/test-profiles/h3/baseline-h3/) (Knowledge Base > Test Profiles > H/3): Measures raw request throughput over QUIC, the UDP-based transport behind HTTP/3. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h3/baseline-h3/implementation/) (Knowledge Base > Test Profiles > H/3 > Baseline (HTTP/3)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/3 baseline benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h3/baseline-h3/validation/) (Knowledge Base > Test Profiles > H/3 > Baseline (HTTP/3)): The correctness checks validate.sh runs against the HTTP/3 baseline benchmark before a framework's results are accepted. - [Static Files (HTTP/3)](https://http-arena.com/docs/test-profiles/h3/static-h3/) (Knowledge Base > Test Profiles > H/3): Serves twenty static assets over QUIC, approximating a browser loading page resources over HTTP/3. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/h3/static-h3/implementation/) (Knowledge Base > Test Profiles > H/3 > Static Files (HTTP/3)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/3 static file benchmark. - [Validation](https://http-arena.com/docs/test-profiles/h3/static-h3/validation/) (Knowledge Base > Test Profiles > H/3 > Static Files (HTTP/3)): The correctness checks validate.sh runs against the HTTP/3 static file benchmark before a framework's results are accepted. - [WebSocket](https://http-arena.com/docs/test-profiles/ws/) (Knowledge Base > Test Profiles): WebSocket profiles measuring real-time bidirectional messaging throughput after an HTTP/1.1 upgrade. - [Echo (WebSocket)](https://http-arena.com/docs/test-profiles/ws/echo/) (Knowledge Base > Test Profiles > WebSocket): Measures WebSocket echo throughput: each connection upgrades over HTTP/1.1, then exchanges text messages one at a time. - [Echo Short-lived (WebSocket)](https://http-arena.com/docs/test-profiles/ws/echo-limited/) (Knowledge Base > Test Profiles > WebSocket): Measures WebSocket upgrade cost: each connection is closed after 10 echo messages, so the handshake is paid continuously rather than amortized. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/ws/echo-limited/implementation/) (Knowledge Base > Test Profiles > WebSocket > Echo Short-lived (WebSocket)): Endpoint contract and rules for the short-lived WebSocket profile, where each connection is retired after 10 echo messages and re-upgraded. - [Validation](https://http-arena.com/docs/test-profiles/ws/echo-limited/validation/) (Knowledge Base > Test Profiles > WebSocket > Echo Short-lived (WebSocket)): The short-lived WebSocket profile is validated by the same validate-ws.py checks as the Echo profile; the message limit is a load-generator behaviour. - [Echo Pipelined (WebSocket)](https://http-arena.com/docs/test-profiles/ws/echo-pipeline/) (Knowledge Base > Test Profiles > WebSocket): Measures WebSocket echo throughput with sixteen messages sent back to back before the first reply is read. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/ws/echo-pipeline/implementation/) (Knowledge Base > Test Profiles > WebSocket > Echo Pipelined (WebSocket)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the pipelined WebSocket echo benchmark. - [Validation](https://http-arena.com/docs/test-profiles/ws/echo-pipeline/validation/) (Knowledge Base > Test Profiles > WebSocket > Echo Pipelined (WebSocket)): The correctness checks validate.sh runs against the pipelined WebSocket echo benchmark before a framework's results are accepted. - [Implementation Guidelines](https://http-arena.com/docs/test-profiles/ws/echo/implementation/) (Knowledge Base > Test Profiles > WebSocket > Echo (WebSocket)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the WebSocket echo benchmark. - [Validation](https://http-arena.com/docs/test-profiles/ws/echo/validation/) (Knowledge Base > Test Profiles > WebSocket > Echo (WebSocket)): The correctness checks validate.sh runs against the WebSocket echo benchmark before a framework's results are accepted. ## Data - [data.json](https://http-arena.com/data.json): every published result in one JSON document, the same one the board reads. - [Badge endpoints](https://http-arena.com/badge/index.json): per-framework rank, as shields.io endpoints. - [Source and framework entries](https://github.com/MDA2AV/HttpArena): every server implementation, Dockerfile and validation rule. ## Full text - [llms-full.txt](https://http-arena.com/llms-full.txt): the whole Knowledge Base and the full ranking of every family.