// the find
actix/actix-web
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
Actix Web is a mature, production-grade async HTTP framework for Rust built on Tokio. It's the go-to choice when you need raw throughput in Rust — consistently at or near the top of TechEmpower benchmarks. For anyone building APIs or services in Rust who wants something battle-tested rather than experimental, this is the default answer.
Handler ergonomics are genuinely good — the extractor system (Path, Query, Json, Form all as function params) keeps handlers clean without reflection magic. The workspace layout is well-structured: actix-http, actix-router, actix-web-codegen, and actix-files are separate crates so you only pay for what you use. Middleware composition via wrap() is straightforward, and from_fn lets you write async middleware without implementing the Service trait by hand. Test utilities (actix-test, actix-http-test) let you spin up a real server in tests without any mocking.
No native HTTP/3 support — you're stuck at HTTP/2. The actor-based WebSocket integration via actix-web-actors drags in the full actix actor system, which is significant complexity if you just want WebSockets. Error handling is a common pain point: impl ResponseError works but the error propagation story across middleware layers is unintuitive until you've burned a few hours on it. The docs site is functional but shallow — official examples cover happy paths well, edge cases (custom extractors, nested scopes with shared state) require digging through GitHub issues.