In hardware terms, a web server is a computer that stores web server software and a website’s component files such as HTML documents, images, CSS and JavaScript files. A web server connects to the Internet and supports physical data interchange with other devices connected to the web.
This article focuses on the software side. In this respect, a web server’s primary function is to store, process and deliver web pages to clients. It has several parts that control how web users access hosted files. At a minimum, this is an HTTP server. An HTTP server is software that understands URLs (web addresses) and HTTP (the protocol your browser uses to view webpages). An HTTP server can be accessed through the domain names of the websites it stores, and it delivers the content of these hosted websites to the end user’s device.
At the most basic level, whenever a browser needs a file that is hosted on a web server, the browser requests the file via HTTP. When the request reaches the correct (hardware) web server, the (software) HTTP server accepts the request, finds the requested document, and sends it back to the browser, also through HTTP.
Nowadays, sites use HTTPS (Hypertext Transfer Protocol Secure). This is a mechanism that allows your browser or web application to securely connect with a website. HTTPS is one of the measures to help keep your browsing safe and secure.
Here’s our verdict captured in a legendary LinuxLinks-style ratings chart.

For many years Apache HTTP Server (often called Apache) was our preferred web server. But nginx often outperforms Apache and other popular web servers in benchmark tests, especially in situations with static content and/or high concurrent requests.
We’ve rated the open source programs purely in terms of their web server qualities. The programs can be used for other purposes other than serving web pages e.g. as a reverse proxy. Note, Node.js is frequently not categorized as a web server.
Let’s explore the 15 web servers at hand. Click the links in the table below to learn more about each server.
| Web Servers | |
|---|---|
| nginx | Very powerful and efficient web server powering the top web sites |
| Apache | Like nginx, Apache is a hugely popular web server |
| Caddy | Powerful, enterprise-ready web server written in Go |
| Lwan | Experimental, scalable, high performance HTTP server |
| H2O | Optimized HTTP/1.x, HTTP/2, HTTP/3 server |
| lighttpd | Fast, compliant and very flexible low memory footprint web server |
| Ferron | Web server optimized for speed, security and efficiency |
| Angie | Scalable web server that was forked from nginx |
| Algernon | Small self-contained pure-Go web server |
| Node.js | Server-side JavaScript environment for network applications |
| Hiawatha | Web server that focuses on security |
| OpenLiteSpeed | Lightweight HTTP server |
| rwasa | Full-featured high performance web server |
| devd | Local web server for developers |
| Cherokee | Fast, flexible and embeddable web server |
This article has been revamped in line with our recent announcement.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

