Online Tuition
Web Server

Top 5 Open Source Web Servers

Description

According to Mozilla, a web server includes several parts that control how web users access hosted files. At a minimum, this is an HTTP server. An HTTP server is a software that understands URLs (web addresses) and HTTP (the protocol your browser uses to view webpages). An HTTP server can be accessed through the domain names of the websites it stores, and it delivers the content of these hosted websites to the end-user device.

web server interaction with browser


According to w3techs, 80% of the Online Web Servers are Open Sourced, and today we gonna briefly go through them.

web server statistics


NGINX  

nginx

Nginx, stylized as NGINX, nginx or NginX, is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software, released under the terms of the 2-clause BSD license. 


 

It occupies the highest market share at 33.9%, and the reason for its popularity is:-

  1. Light-weight resource utilization
  2. Hardware scalability 
  3. Asynchronous event-driven Modular architecture
  4. SSL and TLS SNI support
  5. Load balancing and reverse proxy


 

As of writing this article, Nginx supports Go, Node. js, Perl, PHP, Python, Ruby, and Java Servlet Containers Languages.

Apache HTTP Server 

 

apache

The Apache HTTP Server often referred to as httpd, or simply Apache—was first launched in 1995, and celebrated its 20th birthday in February 2015. Apache powers 33.6% of websites and is by far the most popular web server. 


 

The web server itself uses a modular architecture, in which extra modules can be loaded to extend its features. For example, loading the mod_proxy will allow for a proxy/gateway on your server, and mod_proxy_balancer will enable load balancing for all supported protocols

Apache supports Go, Perl, PHP, Python, Ruby etc.

 

Apache Tomcat  

apache tomcat

Apache Tomcat is an open-source Java servlet container. A Java servlet is a Java program that is used to enhance the capabilities of a web server. Although servlets can respond to any types of requests, they most commonly implement applications hosted on Web servers. Such web servlets are the Java counterpart to other dynamic web content technologies such as PHP and ASP.NET. Tomcats codebase was donated by Sun Microsystems to the Apache Software Foundation in 1999 and became a top-level Apache project in 2005. It currently powers just under 1% of all websites.

Apache Tomcat, released under the Apache License version 2, is typically used to run Java applications. It can, however, be extended with Coyote, to also perform the role of a normal web server that serves local files as HTTP documents. More information can be found on the project website.

Apache Tomcat is often listed among other open-source Java application servers. Some examples are JBoss, Wildfly, and Glassfish.

Node.js

 

nodejs

Node.js is a server-side JavaScript environment for network applications such as web servers. With a market position of just 1.2%. Node.js was originally written in 2009 by Ryan Dahl. The Node.js project, governed by the Node.js Foundation, is facilitated by the Linux Foundations Collaborative Projects program.

Node.js is primarily a cross-platform runtime environment to build network applications with. Node.js applies an event-driven architecture capable of asynchronous I/O. These design choices optimize throughput and scalability in web applications allowing to run real-time communication and browser games. Node.js also highlights the difference in web development stacks, where Node.js is part of the HTML, CSS, and JavaScript stack, as opposed to Apache or NGINX which are a part of many different software stacks.


 

Some popular Nodejs websites are LinkedIn, Uber, Netflix, PayPal etc.

Node.js is released under a mix of licenses; more information is available on the website of the project.

Lighttpd

lighttpd

Lighttpd—pronounced "lightly"—was initially released in March 2003. It currently powers approximately 0.1% of all websites and is distributed under a BSD license.

Lighttpd distinguishes itself with its low memory footprint, small CPU load, and speed optimizations. It uses event-driven architecture, is optimized for a large number of parallel connections, and supports FastCGI, SCGI, Auth, Output-compression, URL-rewriting and many more features. Lighttpd is a popular web server for the Catalyst and Ruby on Rails web frameworks. Find more information on the project homepage.