Almost everybody has at least once heard about Web Servers, even though most of them have no idea how they work or what is their main function.
A Web Server is a program which runs websites. Web Server can be hardware and software, or both of them running togheter.
- On the software side, A Web Server includes several parts that control how web users access hosted files, at minimum HTTP server. An HTTP server is a peace of Software that understands URLs(the web addresses) and HTTP( the protocol your browser uses to view the webpages).
For publishing a website, you need either a static or a dynamic web server. A static web server consist of a computer (hardware) with an HTTP server(software). We call it static because the server sends its hosted files as-is to your browser.
A dynamic server consists of a static web server plus extra software, most commonly an application and database.
Let’s have a look how servers typically work:
- First of all we enter the address of a web page in browser,( e.g "X")
- The browser sends a page request to the web server at the provided address
- The "X" server intercepts the page request
- If the server does indeed have the requested page then it will return the page in browser
- We see the page that we requested appear in the browser
Nginx is a free, opens source HTTP and reverse proxy server. It is also an IMAP/POP3 proxy server. It was created by Igor Susoev.
Apache refers to the Apache HTTP server. It is an open- source, web server appliacation designed for modern systems like Microsoft Windows, Netware. Etc…
If we compare two servers, we can see that both Apache and Nginx are powerful, flexible and capable. Deciding which server is using is up to you.
Thanks and Regards!