What is a web server?
A web server stores web content and ensures it is constantly accessible. So, whenever you enter a website address in your browser, it’s a web server that sends the individual website components to your device. For the site to be available at all times, the web server in question must be online around the clock.
Try out your VPS for 30 days. If you're not satisfied, you get your money back.
Definition and history of a web server
A web server (also called an HTTP server) refers to a server that delivers web content on the internet or an intranet. As part of a computer network, it transfers documents to so-called clients—like a web browser.
The term can refer to two things: the web server software itself (the actual program), or the computer running the web server software. The latter is also called a host (a host may run multiple server applications). Below, we’ll refer to web server software/HTTP server software (or program) or a host when one of the meanings is intended explicitly.
The development of HTTP servers is closely linked to British physicist and computer scientist Tim Berners-Lee. In 1989, he proposed simplifying information exchange at CERN (the European Organization for Nuclear Research) using a hypertext system. Together with Robert Cailliau, he presented a project plan in 1990 that eventually produced the first web server, “CERN httpd,” the first web browser, and several core Web technologies (like HTML and HTTP). Berners-Lee is therefore considered the founder of the World Wide Web.
How web server technology works
The software of an HTTP server primarily exists to serve data for rendering web content. The program communicates with a web client—typically a browser or a search engine crawler.
When you visit a website, you enter its address in your browser. The browser sends a request to the web server, which replies with, for example, an HTML page. This can be a static document stored on the host or dynamically generated—meaning the web server executes code (in PHP, Java, etc.) before replying. The browser interprets the response, often triggering additional requests for things like images or CSS files.
Data transfer uses the HTTP protocol (or its encrypted form, HTTPS), built on the network protocols IP and TCP (less commonly, UDP). A web server can deliver content to many browsers at once. How many requests can be handled and how fast depends on the host’s hardware and load. Complexity also matters: dynamic content uses more resources than static content.
Choosing the right host system—whether virtual, dedicated, or cloud-based—helps prevent overload. However, even with a well-suited server, outages can occur due to hardware issues or power failures in the data center. While rare, downtime results in a website going offline, especially if it’s hosted on a single device without a content delivery network (CDN)—which is typical for smaller websites.
Additional web server functions
Although content delivery is a web server’s main job, many HTTP server programs offer additional features:
Additional web server function | Description |
---|---|
Security | Encrypting communication between server and client via HTTPS |
User authentication | HTTP authentication for restricted areas of a web application |
Redirection | Redirecting document requests using a rewrite engine |
Caching | Storing dynamic documents temporarily for faster responses and reduced server load |
Cookie handling | Sending and processing HTTP cookies |
A host can run not only web server software but also other types of server applications—for example, an FTP server for file uploads or a database server for dynamic content. (In most cases, a professional internet service provider will use separate hardware for these.) In general, there are many different types of servers used for various purposes—in addition to those mentioned, mail servers, game servers, and proxy servers are also widely used.
Web server vs. web hosting
What role do web servers play in web hosting? And what is web hosting anyway? Essentially, web servers are a fundamental part of web hosting. But many people confuse the two terms. Here’s the difference:
Web hosting means storing and providing web content. A website’s files are stored in web space (online storage for websites). The web space is like a hard drive, and it must be connected to a web server to make the website content accessible online.
A host (the web server computer) and its connected web space are provided by a web hosting provider (or simply “hoster”). Many internet service providers—such as IONOS—also offer web hosting. If you choose a self-managed server, you’ll need to install web server software yourself.
Popular (free) web server software
Many programs allow you to operate your own web server—often for free. The HTTP server software must be compatible with the host’s operating system. Most web server programs are built on Unix or Linux, though many also run on Windows. The main exception is Microsoft IIS, which runs only on Windows.
Some of the most widely used web server programs include:
Apache HTTP server
The Apache HTTP Server is free and developed as open source. Its modular design works on nearly every OS and it’s the most used HTTP server globally. It supports dynamic content well and can integrate scripting languages like PHP or execute other programs via CGI.
Integrating software like PHP and MySQL (which are required for dynamic content) into an Apache web server can be complex. However, this process becomes much easier with software bundles like XAMPP. These packages significantly simplify setup by including Apache along with the necessary database tools and various scripting languages.
Apache Tomcat
This is an open-source, free web server software from the Java ecosystem. Anyone looking to generate server-side web content using Java will find Apache Tomcat to be a suitable web container. It can also be integrated into another web server—such as the Apache HTTP Server or Microsoft IIS—via an AJP connector.
NGINX
NGINX is also free and more than just a web server. It includes features like a reverse proxy, which reduces load on the HTTP server and improves speed. Its popularity has grown steadily in recent years.
Microsoft IIS
Microsoft Internet Information Services (IIS) is a server software suite that includes a web server component. In the past, IIS was a built-in feature of Windows Server systems, but today it can be installed manually on certain Windows operating systems as needed. Unsurprisingly, Microsoft IIS can only be used on Windows servers.
LiteSpeed Web Server
This is an HTTP server software for Linux and Unix that offers an open-source version, a free standard edition, and an enterprise edition. LiteSpeed Web Server is particularly known for its high-speed data transfer—performance that is, as expected, highest in the paid enterprise version.
HTTP server programs are typically managed remotely from another computer. The most convenient way to do this is with remote administration software. With Plesk—one of the most well-known remote management tools—you can manage a web server program from both Linux/Unix and Windows machines. This means, for example, you can control a Linux server from a Windows home PC, and vice versa.
How to choose a server and set up a web server
To host your online presence, you need a host with enough web space. Renting server resources from a provider is common. Those with little to no server administration experience can use shared hosting or managed cloud hosting to get started.
Unlike a server with root access—where you have full control but also full responsibility for server security—a managed server shifts most of the basic administration tasks to the hosting provider. Security patches and software updates are largely handled for you, while you still have the freedom to install your preferred software. With shared hosting, you don’t need to manage software updates at all, but your access is limited to the web space and the configuration options provided by the host.
When you rent a server, you typically pay a monthly fee. The cost depends on the performance and scope of the individual components—such as CPU and RAM, web space, and the type of storage drive (SSD or HDD). If you want more flexibility, consider cloud hosting, which lets you scale various resources at any time to meet the demands of your project.
The performance required for each hosting setup depends on the needs of your website: simple projects like a small blog or digital business card work well with affordable, lower-performance hosting packages. Large websites or resource-intensive applications, on the other hand, place much higher demands on specific components. Some web applications also require higher data transfer volumes. To ensure consistent performance, many providers offer packages with a traffic flat rate, guaranteeing enough bandwidth for your site at all times.
Once you’ve found the right server, you can install your preferred HTTP server software on it. Even with a managed server, however, there are some important security considerations to keep in mind when hosting a website.
Web server security
Once your web server is set up and running, it’s essential to ensure that it always has the latest updates installed. Outdated software versions can expose vulnerabilities that, in the worst case, allow cybercriminals to take control of your server. With shared and managed hosting, the hosting provider typically handles security updates—but otherwise, the responsibility falls on you.
In addition to keeping everything updated, using a firewall provides effective protection against attacks. Setting up a demilitarized zone (DMZ) is also recommended. You can also use tools like Fail2ban, a framework designed to block unauthorized access attempts.
Another key principle of web server security is: Only allow what is absolutely necessary for your server to function. Close all unused ports and shut down any nonessential services. Setting strong passwords is also a fundamental best practice for managing server security. In case of questions or emergencies, having reliable and knowledgeable customer support is extremely valuable—especially for less experienced administrators.
If your hosting provider doesn’t fully manage your server’s protection, you should have at least basic knowledge of server maintenance and a fundamental understanding of how a host functions. You can gain this knowledge by experimenting and learning in a closed network environment, where you don’t have to worry about cyberattacks.
Example of how a web server works
Once your HTTP server is set up and your website content has been uploaded, the server can begin operating. It functions based on the client-server model. Here’s an example: If you want to visit the IONOS website and enter the domain www.ionos.com
into your browser (the client), the following sequence of events is triggered:
- As soon as you begin typing, your browser first sends the web address to a name server (also known as a DNS server). As part of the Domain Name System (DNS)—the internet’s directory service—the name server essentially has access to the entire address book of the web. The alphanumeric domain name (
www.ionos.com
) is translated into a numeric IP address (e.g., 74.208.255.134), which is sent back to the browser. The browser then sends a request for the web page content by contacting the IP address—that is, the web server hosting the website content. - The web server responds by sending back a document from the requested site to the browser. The browser then sends another request—this time for another document that is part of the web page (such as an embedded image). This process repeats until all components of the page have been delivered, and the full website appears in your browser window. If you then click a link on the IONOS website, the browser requests another page from the web server, and the process starts over—except the DNS lookup is skipped because it has already been cached.
At IONOS, you can rent your own server at affordable rates for a variety of projects (web server, mail server, or your very own custom application).