What Are Web Servers and Why Are They Needed?
What is a Web Server?
A web server is a computer that runs websites. It’s a computer program that distributes web pages as they are requisitioned. Web servers are computers that deliver (serves up) Web Pages. Every Web server has an IP address and possibly a domain name. For example, if you enter the URL http://www.future4tech.com in your browser, this sends a request to the Web server whose domain name is future4tech.com. The server then fetches the page and sends it to your browser.
Any computer can be turned into a Web server by installing server Software and connecting the machine to the Internet. There are many Web server software applications, including public domain software and commercial packages.
The basic objective of the web server is to store, process and deliver web pages to the users. This intercommunication is done using Hypertext Transfer Protocol (HTTP). These web pages are mostly static content that includes HTML documents, images, style sheets, test etc. Apart from HTTP, a web server also supports SMTP (Simple Mail transfer Protocol) and FTP (File Transfer Protocol) protocol for emailing and for file transfer and storage.
The main job of a web server is to display the website content. If a web server is not exposed to the public and is used internally, then it is called Intranet Server. When anyone requests for a website by adding the URL or web address on a web browser’s (like Chrome or Firefox) address bar (like www.future4tech.com), the browser sends a request to the Internet for viewing the corresponding web page for that address. A Domain Name Server (DNS) converts this URL to an IP Address (For example 192.168.216.345), which in turn points to a Web Server.
The Web Server is requested to present the content website to the user’s browser. All websites on the Internet have a unique identifier in terms of an IP address. This Internet Protocol address is used to communicate between different servers across the Internet.
When browsing the web you use a program called a “browser”. The most popular browsers are Internet Explorer, Firefox and Chrome, which are all free.
Whenever you read a page on the web, that web page is located on a web server somewhere on the internet. You don’t know exactly where the web server is physically located, but you don’t need to know either. All you need to know is the address of the website you want to visit. You type the address of the website into the browsers address bar and press enter, then the browser contacts the web server, and fetches the HTML document.
HTTP is the protocol which the browser and web servers communicate by. HTTP is short for Hyper Text Transfer Protocol. HTTP is a textual protocol, meaning the requests and responses are sent in ascii text between client and server. It is also possible to send binary data via HTTP.
The web browser (client) initiates the communication by opening a TCP/IP connection to the web server, and sending an HTTP request via the open connection. The web server responds by sending an HTTP response back.
Popular web server software available in the market today.
• Apache web server
• Microsoft’s Internet Information Services (IIS)
• Nginx web server
• LiteSpeed Web Server
Apache Web Server
Apache web server is one of the most popular web servers developed by the Apache Software Foundation. Open source software, Apache supports almost all operating systems such as Linux, Windows, Unix FreeBSD, Mac OS X and more. Approximately, 60% of the machines run on Apache Web Server.
You can easily customize an apache web server due to its modular structure. Since it’s an open source, your own modules can be added to the server when you want to make modifications to suit your requirements. It is highly stable as compared to other web servers and the administrative issues on it can be resolved easily. It is possible to install Apache on multiple platforms successfully.
Microsoft’s Internet Information Services (IIS) Web Server
IIS (Internet Information Services) is a web server that hosts websites and web applications. Windows Web Server first hit the scene in 1995 and since then there has been a different version of IIS available for almost every Windows operating system. Microsoft’s Internet Information Services provides a graphical user interface (GUI) for managing, configuring, and publishing sites on the web. The IIS Manager tool allows web administrators to modify website options, such as default pages, error pages, logging settings, security settings, and performance optimizations. IIS can serve both standard HTML webpages and dynamic webpages, such as ASP.NET applications and PHP pages.
Nginx Web Server
Nginx is the next open source web server after Apache. It comprises of IMAP/POP3 proxy server. The significant features offered by Nginx are high performance, stability, simple configuration and low resource usage. No threads are used to handle the requests by Nginx, instead a highly scalable event-driven architecture that uses small and predictable amount of memory under load is utilized. It has become popular recently and hosts about 7.5% of all the domains globally. Many web hosting companies have started using this server.
LiteSpeed Web Server
A high-performance Apache drop-in replacement, LiteSpeed (LSWS) is the 4th popular web server on the internet and is a commercial web server.When you upgrade your web server to LiteSpeed, you will experience improved performance that too with low operating cost.
This server is compatible with the most common Apache features such as .htaccess, mod_rewrite and mod_security. It has the ability to load Apache configuration files directly and work as a drop in replacement Apache with almost all the hosting control panels. It can replace the Apache within 15 minutes without any downtime.
An open source Java servlet container, Apache Tomcat functions as a web server. A Java program that expands the capabilities of a server is called as a java servlant. Servlets can respond to any types of requests but they most commonly implement applications hosted on web servers. These web servlets are Java equivalent to other dynamic web content technologies such as PHP and ASP.NET. Sun Microsystems donated Tomcat’s code base to the Apache Software Foundation in 1999 which became a top-level Apache project in 2005. Currently, it powers just under 1% of all websites.
Released under the Apache License version 2, Apache Tomcat is typically used to run Java applications. But, it can be extended with coyote, so that it can also perform the role of a normal web server that serves local files as HTTP documents.
Pronounced as “lightly”, Lighttpd was initially release in March 2003. It currently runs approximately 0.1% of all websites and is distributed under a BSD license. Lighttpd stands unique due to its small CPU load, low memory footprint, and speed optimizations. An event-driven architecture is used by it and is optimized for a large number of parallel connections, and supports FastCGI, Auth, Output-compression, SCGI, URL-rewriting and many more features. It is a popularly used web server for the web frameworks such as Catalyst and Ruby on Rails.
A web server can run a single website or several websites using the same software and hardware resources. This is known as virtual hosting. The answer to the question, “What is the role of a web server?” may be found here. Web servers can also limit the speed with which they respond to different clients, preventing a single client from dominating the resources. This is utilized to meet the needs of a large number of clients.
Web hosting businesses mostly choose web servers based on client requirements, the number of clients on a single server, the applications/software clients use, and the amount of traffic generated by the clients. So, before choosing a web server, consider all of these factors and then choose one.