3. ApacheApache server is an open source HTTP web server, commonly known as httpd, which comes with an unrestrictive license for individual or commercial-grade application development and deployment. It is the most widely used web server covering ~47% of all the websites (https://w3techs.com/technologies/details/ws-apache/all/all) which includes apple, paypal, adobe, wallmart, and many others. Apache web server can be used along with different markup languages, server side or client side programming languages, content management systems. https://wiki.apache.org/httpd/FAQApache functionalities include, but not limited to, – mod_proxy module which provides proxy/gateway functionalities for different protocols.- virtual hosts can be created to separate different web applications with properly defined endpoints.- Content negotiation feature allows presentation of content in different languages and formats based on the user’s requirement. Meaning, serve can ask browser for user specific parameters, and serve the content accordingly. This feature can be used with minimal number of changes. Commonly known as Multiviews.Limitations:- It is a web server and not application server. Web servers are designed to deliver http content, while application server serves as web server as well as processor, which can process the program logic and provide dynamic output.- Apache being a web server can only serve static content. To add server side programming/scripting language supports we need to add related plugins.- Apache doesn’t support any database integration.- Apache doesn’t have integrated support for Java based applications. The main difference between “Apache does not supporting Java” and “Apache doesn’t support ASP/PHP/Python” is that, if Java based development required then user have to switch to other projects such as Tomcat or Geronimo. But for PHP/Python support, apache provides modules hence user doesn’t have to switch to another server.- Apache has been developed primarily on C hence there is no platform independence compared to other servers. User has to use modules in order to allow the server to use certain OS level functions. – To make applications truly portable across different platform, developers have to use Apache Portable Runtime (APR)library.https://en.wikipedia.org/wiki/Apache_Portable_Runtimehttps://httpd.apache.org/dev/devnotes.htmlhttps://httpd.apache.org/docs-project/https://httpd.apache.org/docs/2.4/