Tuesday 30 July 2013

What is Web Server and how it works

A web server can mean two things - a computer on which a web site is hosted and a program that runs on such a computer. So the term web server refers to both hardware and software. We'll look at each of these individually.

The web server computer - the hardware
A web site is a collection of web pages. And web pages are digital files, typically written using HyperText Markup Language (HTML). For a web site to be available to everyone in the world at all times, it need to be stored or "hosted" on a computer that is connected to the internet 27/7/365. Such a computer is known as a web Server (note the first letter is in uppercase). You can potentially host a web site on your home computer but this involves a lot of work and constant monitoring. It is easier to "buy" web hosting from a company because there are thousands that offer this service.

There are several requirements for a Server computer - it needs to be fast, have a large storage capacity hard disk and lots of RAM. But the most important is having a permanent internet address also known as an I.P. (Internet protocol) address. If the I.P. address changes, the web site would not be found and will appear offline - the browser will display a cannot find web site kind of error. For details, read differences between your home computer and a web Server.

The web server program - the software

A web server program is software that runs on the web site hosting Server computer. Its main purpose is to serve web pages; which means it waits for requests from web browsers (also known as clients) and responds by sending the required data back. This client-server interaction is the hallmark of the web!

There are many web server programs available. The most famous and popular of all web servers isApache developed by the Apache Foundation. Not only is Apache free but it's also available for several operating systems including Windows, Macintosh and Linux/Unix.

FYI, the differentiating the web server program and the computer by the capitalization of the first letter for the latter is suggested and followed only by purists - it is not a rule; your readers would quickly understand from the context whether you are referring to the hardware or the software.

What is the role of web server on the Internet?

Web servers - the computer or the program - have a vital role on the Internet. The Server machine hosts the web site while the server program helps deliver the web pages and their associated files like images and flash movies.

The process of loading a web site/page in a web browser starts with the user either entering the URL in the address bar or clicking on a link. You should know that each web page has a unique address (orURL) on the internet; which means the same page cannot exist in two places. (If a copy does exist in another location, its address would be different from that of the original).

The browser now needs to send out a request for the web page. Behind the scenes, the URL of the requested web page is resolved into an I.P. address, which in English means, converted to an I.P. address - something that computers understand. The I.P. address points to the location of the web site host and the request is forwarded to Server computer and passed on to the server software.

The server software now takes up and hunts for the requested web page on the hard disk. On finding the file, it sends back a response and the web page file to the browser which then starts displaying the page. A typical web page not only has text but also embedded multimedia elements like images and Flash animation. These "extra" files are separate from the actual web page and need to be sent one by one for the browser to display the web page correctly. Note(and an important one), ONLY the web browser determines how a web page is displayed; the web server has no control over this. The job of a web server ends once it processes the request from a browser and sends the required information.

Though the request-and-response might seem time consuming, it actually happens very fast - have you ever waited more than a minute for a web site to load? And it's all because of the HyperText Transfer Protocol (HTTP) which is a set of rules developed by the "big lads" to facilitate the transfer of data over the internet.

No comments: