Let's start with the main function and add the necessary dependencies one by one, looking in detail at why we need each one. A minimal HTTP server needs the following:
- An address to bind to
- A server instance to handle incoming requests
- A default handler for any request
- A reactor (runtime) where the server instance will operate