Web Server Structures
Web servers are the most common servers for remote access at the moment. Web services based on HTTP are flexible and powerful.
In this chapter, we will see how web servers are structured, starting by describing how the basic request-response architecture works, and then diving into a LAMP-style architecture in three layers: the web server itself, the workers executing the code, and an intermediate layer that controls those workers and presents a standardized connection to the web server.
We will describe each layer in detail, presenting a specific tool, such as nginx for the web server, uWSGI for the intermediate layer, and the Python Django framework for the specific code inside the worker. We will describe each of them in detail.
We will also include the Django REST framework, as it's a tool that builds on top of Django to generate RESTful API interfaces.
Finally, we will describe how extra layers can be added on top for greater flexibility...