In this lesson, you'll learn what components make up the backend when written in Python. We'll get acquainted with the key terms we'll need for the course.
Web servers
Most web applications rely on the client-server model:
- Client: The user opens the browser and sends a request
- Server: The request from the browser goes to the web server, which begins to process it
Some languages embed the web server directly into the application, but most interpreted languages use an external program. There are several standalone web servers, but the most popular is Nginx. It handles incoming requests, serves static files, and distributes requests to web applications.
WSGI
If the web application backend runs on Python, we usually find a WSGI server running WSGI applications behind the web server. Let's take a closer look at what that is.
The WSGI (Web Server Gateway Interface) is the abstraction under which the requests get answered. It is a Python function that takes a request and returns a response. The basic WSGI application looks like this:
# The code below may seem incomprehensible, but that's not important
# The most important thing is that we can see that this is just a function