The Actix-web framework builds upon the actor model that's implemented by the actix crate, which we already covered in Chapter 7, Advanced Concepts. Actix-web advertises itself as a small, fast, and pragmatic HTTP web framework. It's primarily an asynchronous framework that relies internally on tokio and the futures crate but also provides a synchronous API and both of these APIs can be composed together seamlessly.
The entry point of any web application written using actix-web is the App struct. On an App instance, we can configure various route handlers and middlewares. We can also initialize our App with any state that we need to maintain across a request response. The route handlers that are provided on App implement the Handler trait and are simply functions that map a request to a response. They can also include request filters, which can forbid...