Web server software is first and foremost there for supplying files in order to display web content. To this end, the program communicates with a web client (generally a web browser or a search engine crawler).
If you want to call up a website, then just enter its corresponding internet address into your web browser. The browser then sends a request to the web server, which then sends an answer; this could be, for example, an HTML page. Such pages can be saved as static documents on the host or can also be dynamically generated, which means that the web server has to execute programs, like PHP or Java, prior to answering the request. The browser interprets the answer, which is then often followed by further requests to the server (e.g. requests for integrated images or CSS files).
In order to transfer data, the transfer protocol HTTP (and its encrypted variant, HTTPS) is used; this is based on the network protocols IP and TCP—in rare exceptions, UDP provides this basis for the protocol. Web servers are able to deliver a website’s content to many different computers and/or their browsers. The number of requests that are processed depends, among other things, on the hardware and capacity of the host. A website’s complexity also plays an important role: CPU-intensive processes, of course, require more resources than those that demand less computing capacity.
Choosing the right server (and simultaneously making a decision whether this should be a virtual, dedicated, or cloud-based variant) prevents web servers from becoming overloaded. But even those using servers that are ideally suited to their circumstances are not entirely protected from the risk of experiencing a server breakdown. Some typical reasons for such issues include technical malfunctions or power outages at the data center where the host is located. Even if it only happens on very rare occasions, such downtime means that a website is completely separated from the internet; or at least this is the case when the website is running on a device with a connection to a content delivery network (CDN).