What is Web Server?
A Web Server is nothing but a Computer Program which renders service to users in the form of files that create web pages. The process starts with the end-user requesting a web browser which is served by computer software (Web Server). The communication takes place using Hypertext Transfer Protocol (HTTP). Web Browsers such as Chrome, Firefox, Internet Explorer etc perform the key role of finding the exact location of the Server for the website requested by the user.
Generally, Web Servers are a combination of both hardware and software where hardware consists of a physical device (Computer) that stores web server software and the website’s component files such as HTML documents, images, CSS stylesheets and JavaScript files and software consists of HTTP Server which understand URLs (web addresses) and HTTP.
Explanation with Example
You want to open Gmail on your laptop and you enter the www.gmail.com in the search bar of Google. Your browser will send an HTTP request to view the Gmail webpage to another computer which is the Web Server. This computer (webserver) will have all the files (usually in HTTP format), which Gmail functions the ways it is built for. Web Server will process the request and send the concerned files to your computer and then you access the files related to Gmail successfully.
Diagrammatic Representation
Functions of Web Server
o Store and protect website data
o Control bandwidth to regulate network traffic
o Virtual hosting
o manage HTTP/HTTPS requests
o Server-side web scripting
Web Server can be Static as well as Dynamic
An Example of a static web server is an NGINX web server which includes hardware or a computer with an HTTP server. On the other hand, an example of a dynamic web server is Apache Web Server which includes a static server, an application server, and a database. It is called dynamic because it updates the hosted files before sending them to the user.
What is Apache Web Server?
Apache Web Server is one of the most popular and free open-source Web Servers. It’s generally thought that Apache derived its name from its development history and process of improvement through applied patches and modules but that's not the case. It was revealed that the name originated from the respect of the Native American tribe for its resiliency and durability.
Apache Web Application Architecture
Apache is just one component that is needed in a web application stack to deliver web content. One of the most common web application stacks involves LAMP, Linux, Apache, MySQL, and PHP.
Linux is the operating system that handles the operations of the application. Apache is the web server that processes requests and serves web assets and content via HTTP. MySQL is the database that stores all your information in an easily queried format. PHP is the programming language that works with Apache to help create dynamic web content.