Web Server
Web Server
• A web server is a system—either software, hardware, or both
• that stores, processes, and delivers web content to users over the Internet using
the HTTP or HTTPS protocol.
• When a user’s browser sends a request (like visiting a website), the
web server responds by delivering the appropriate resources.
• such as HTML pages, images, videos, or data.
How Does a Web Server Work?
• User accesses a website by entering a URL in their web browser
• The browser sends an HTTP request to the web server hosting the
website.
• The web server processes this request and returns the necessary
resources to display the page on the user’s browser.
Here is a simplified version of how the process works
• Client Request:
• In the web browser(https://www.example.com) the user enters a URL.
• DNS Resolution:
• To get the IP address of the requested domain, the browser contacts a Domain Name
System (DNS) server.
• Connecting to the Web Server:
• Using the obtained IP address the browser establishes a connection with the web
server.
• Processing Request:
• The web server receives the request and processes it.
• Serving the Response:
• The requested files( HTML, CSS, Javascript images ) are sent back to the client's
browser by the web server.
• Rendering the Web Page:
• Based on the received data the browser displays the web page to the user.
1. Apache Web Server
• Apache Web Server is one of the most widely used and the oldest
open-source web servers available under the Apache License 2.0.
• It can be freely used and can be modified.
• It was developed by the Apache Software Foundation, and first
released in 1995.
• It is highly flexible and customizable.
• It is written in the C programming language.
• Supports multiple operating systems (Windows, Linux, mac OS).
• Allows advanced routing.
• Provides directory-level configuration.
2. Nginx Web Server
• Nginx is a high-performance web server known for its speed,
scalability, and efficient handling of concurrent connections.
• It was developed by Igor Sysoev, and initially released in 2004 and
quickly became popular due to its high performance and scalability.
• It is written in C language.
• Designed for handling large volumes of traffic.
• Functions as a reverse proxy and load balancer.
• Efficient for serving static content.
3. Microsoft IIS (Internet Information Services)
• IIS is a web server developed by Microsoft, designed to work with
Windows Server environments.
• It was developed by Microsoft, and first released in 1995 as a web
server designed specifically for Windows-based systems.
• It is written in C++.
• Supports ASP.NET, PHP, and other web technologies.
• Provides built-in security features.
• Integrates well with Microsoft products.
5. Apache Tomcat Web Server
• Apache Tomcat is a web server primarily used for running Java-based
applications.
• The Apache Tomcat web server was developed by the Apache
Software Foundation and was initially released in 1998.
• It is written in Java, making it highly compatible with Java-based
frameworks like Spring Boot.
• Supports Java Servlets and JSP (Java Server Pages).
• Provides a robust environment for Java EE applications.
• Works well with Apache web server.
Which Web Server Should You Use and When?
Choosing the right web server depends on what you need for your
website or application. Here’s a simple guide to help you decide:
Use Apache:
• If you want a reliable and customizable web server that works on
almost any system.
• It’s great for general websites and supports many features.
Use Nginx:
• If your website gets a lot of visitors and you need a fast and efficient
server that can handle high traffic smoothly.
Use IIS:
• If you are using Windows-based applications and need a server that
works well with Microsoft technologies like ASP.NET.
Use LiteSpeed:
• If you want a faster and more secure alternative to Apache, especially
for WordPress or other PHP-based websites.
Use Apache Tomcat:
• If your website or app is built with Java and you need a server that
supports JSP (Java Server Pages).
Use NodeJS:
• If you’re building real-time applications, such as chat apps or online
games, and want to use JavaScript for both frontend and backend.
Use Sun Java System Web Server:
• If you are working with older Java applications, but note that this
server is no longer supported.