This article presents a quick overview of the Apache Web Server used for the majority of WordPress sites. It is the A in the WordPress Software Stack, LAMP - Linux, Apache, MySQL, PHP.
Let's start with a few definitions.
According to TechTerms, "A server is a computer that provides data to other computers. It may serve data to systems on a local area network (LAN) or a wide area network (WAN) over the Internet. Many types of servers exist, including web servers, mail servers, and file servers. Each type runs software specific to the purpose of the server."
According to The Economic Times, "A web server is a computer that runs websites. It's a computer program that distributes web pages as they are requisitioned. The basic objective of the web server is to store, process, and deliver web pages to the users. This intercommunication is done using Hypertext Transfer Protocol (HTTP). These web pages are mostly static content that includes HTML documents, images, style sheets, tests, etc. Apart from HTTP, a web server also supports SMTP (Simple Mail Transfer Protocol) and FTP (File Transfer Protocol) protocol for emailing and for file transfer and storage."
In simpler terms, web servers accept requests from clients (your site visitors' web browsers) and then send the responses to those requests (pages and posts from your site that visitors want to see) back to the clients.
While a web server is an essential part of your site, as a WordPress user, you are unlikely to interact with it. However, it is helpful as a site owner to know how it works.
What is Apache?
Although a group of independent programmers initially developed Apache, the Apache Software Foundation now supports the software.
Its Apache HTTP Server Project develops and maintains Apache as an open-source HTTP server for operating systems like UNIX and Windows. It works to provide a secure, efficient, and extensible server that provides HTTP services using current HTTP standards.
The Apache HTTP Server (httpd) was launched in 1995 and has been the most popular web server since April 1996. It has celebrated its 25th birthday as a project in February 2020. As a coincidence so did PHP.
Companies that use Apache include Automattic (WordPress' parent), Adobe, AT&T, General Electric, IBM, VMware, Cisco, Salesforce, LinkedIn, Facebook, Siemens, and many more.
What does Apache Do?
According to Technopedia, "Apache Web Server is designed to create web servers that have the ability to host one or more HTTP-based websites. Notable features include the ability to support multiple programming languages, server-side scripting, an authentication mechanism, and database support. Apache Web Server can be enhanced by manipulating the code base or adding multiple extensions/add-ons.
It is also widely used by web hosting companies for the purpose of providing shared/virtual hosting, as, by default, Apache Web Server supports and distinguishes between different hosts that reside on the same machine."
Let's take a closer look at the request/response process mentioned earlier.
As seen in the diagram above, when a visitor goes to your site's homepage, their browser sends an HTTP Request to the server hosting your website. As part of its WordPress installation, the Apache Web Server software finds the index.php file in your site's root directory. PHP processes the file and returns it as HTML output, which the server sends as a response to the user's browser. The visitor sees your homepage.
In addition to serving your site's pages and posts other features seen in Apache include:
- Bandwidth throttling
- Load balancing
- URL rewriting
- Session tracking
- Geolocation based on IP address
- and more
Again, as a site owner, you will rarely (if ever) have to do anything to your web server. However, it is good to be familiar with how it functions and what it is. For example, it has a significant impact on your site's speed.
To learn more, check out the resources below, including a glossary for some of the terms in the article.
- Apache HTTP Server Project - https://httpd.apache.org/
- What is Apache Web Server - https://www.sumologic.com/blog/apache-web-server-introduction/
- Wikipedia - https://en.wikipedia.org/wiki/Apache_HTTP_Server
- IT Glossary - https://www.dataprise.com/it-glossary
- LAMP, the WordPress Software Stack – https://en.wikipedia.org/wiki/LAMP_(software_bundle)