What is Apache?
In computers, the Apache Software Foundation is a nonprofit organization dedicated to maintaining many open source software projects. The Apache HTTP Server, also called httpd, is one of the most popular web servers in use today.
Apache HTTP Server
Apache HTTP Server is an open source cross-platform web server. It is fast and secure enough to be used to run major websites. There is no licensing cost, making it cheap for small projects. It can also be extended with modules and add-ons to meet almost any website need.
The Apache HTTP Server was developed to be an open source web server that is as capable as proprietary commercial servers, such as Microsoft Internet Information Services. It was first released in 1995 by a team of programmers as an extension to the popular but then abandoned NCSA web server. It quickly became very popular, and the developers released several versions in its first year. In 1999, the Apache Software Foundation was founded to provide support for the Apache HTTP Server project.
Due to its free and open nature, Apache HTTP Server saw wide adoption. For many years, it was the most popular web server. By some counts, at the height of its popularity, up to 63% of all internet websites used it. Recently, its popularity has eroded, trading the top spot with Nginx server. It is still used by 20% to 30% of the busiest websites.
Features of Apache HTTP Server
Apache HTTP Server was first developed during the early days of the World Wide Web, with primarily static webpages in mind. It uses modules to extend its core features. Most features needed for a basic static site are included in the default installation. Additional modules can be added to support dynamic websites.
Security. Apache HTTP Server supports modern authentication including internal user lists or external authentication providers. Web traffic can be encrypted with Transport Layer Security 1.2 or 1.3.
Performance. It supports modern performance features including proxies, caching and load balancing. With proper tuning, an Apache server cluster can handle tens of thousands of connections. Nginx is considered more performant in extremely high-demand scenarios, though recent updates to Apache have narrowed this performance gap. Traffic throttling and fault tolerance can recover from service degradation.
User features. Different websites can be hosted on a single server. Common Gateway Interface scripts can provide basic dynamic content. Session and cookie support allow for each connection to be identified.
Open and extendable. Apache HTTP Server is cross platform, with builds for major operating systems such as Linux and Windows. It is free and open source, so it can be easily included as a base or dependency for other projects. It also can be easily extended with other modules to fit any need. One popular example is LAMP -- Linux, Apache, MySQL, PHP -- combining free software to host a modern dynamic website as a single web stack.
Advantages and disadvantages of Apache HTTP Server
Using Apache HTTP Server has its advantages and disadvantages.
Advantages of Apache HTTP Server:
- Free and open source.
- Widely used and well documented.
- Easy to set up and configure.
- Highly performant to tens of thousands of connections.
- Can be extended for many uses.
- Cross platform.
Disadvantages of Apache HTTP Server:
- Might not be able to support hundreds of thousands of connections.
- Can be misconfigured to be insecure.
Other popular Apache Software Foundation projects
Use of Apache HTTP Server is widespread, but it isn't the only popular Apache Software Foundation project. Other widely used Apache Software Foundation projects include the following:
- Apache Flink, for big data processing.
- Apache JMeter, a web performance testing platform.
- Apache Kafka, a service message broker.
- Apache 2.0 License, an open source software license.
- Apache Mesos, a cluster management tool.
- Apache OpenOffice, desktop office software that includes documents, spreadsheets and presentations.
- Apache OpenWhisk, a serverless web function provider.
- Apache Solr, a web search platform.
- Apache Spark, for distributed data analytics.
- Apache Cassandra, a NoSQL database.
- Apache CloudStack, for agnostic virtual machine management.
- Apache Hadoop, for big data storage and processing; includes Hadoop YARN.
- Apache Maven, for build management.
- Apache Tomcat, a Java application web server.
Explore the differences between Tomcat vs. Apache HTTP Server.