Web server
In short: A web server is a program (and often the machine for it) that accepts requests from browsers over HTTP and sends back web pages or data.
In more detail: The browser asks, for example for a page, and the web server answers with the file or with a page it assembles first. It listens on ports 80 (HTTP) and 443 (HTTPS).
In Depth
- Well-known programs: nginx, Apache HTTP Server, Caddy.
- Static and dynamic: static files (HTML, images) are delivered directly. For dynamic pages it passes the request on to an application (PHP, Node.js, Python), which then, for example, asks the database.
- HTTPS: it holds the certificate and encrypts the connection.
- Reverse proxy and load balancing: it can distribute requests across several servers, see proxy and load balancing.
- Logs: it records accesses and errors (e.g. the response codes 404 or 500).
- Security: keep it up to date, leave only necessary services open, turn off directory listings (web development and security).