An Introduction to Webservers

What is a webserver
A Web Server is a server that hosts websites and web applications for the internet or a company intranet. Some of the more common names heard today include Microsoft Internet Information Server (IIS), Apache, WebLogic, WebSphere, Sun, and Lighttpd. Most web servers are built for the Java community, and some are open source like Apache.

Whatever decision you make on a web server will lead you down a specific development road (Microsoft vs Java). There are some standard capabilities that all web servers share.

Prices for web servers range from free (Apache) to sort of free (you get IIS automatically when you have a Windows 200x server) to expensive (WebSphere). Most web servers share a common set of features and functionality that include content support, caching, virtual hosting, authentication and performance.

Which server you use depends on a number of things such as:

* Are you hosting internally or with a service provider?

* What are the development skills in house?

* Do you have Microsoft Windows Servers or Unix Servers in house?

* What is your budget?

The features and functionality of web servers can be broken down into several areas:

Content Support
Most web servers serve both static and dynamic content.

1. Static content is html and images, stylesheets, etc.

2. Dynamic content is made up of web pages that need to be processed by some type of engine. Examples include web pages with server side scripting such as PHP, ASP.Net, and Javascript. Most websites and applications today are built using dynamic content.

3. The ability to cache versions of a web page (whether its html or a processed dynamic page) in a location that is faster to retrieve than calling and processing the page from the server again is another feature. Caching is an important capability for websites server thousands or millions of visitors.

Site Hosting

Generally sites are hosted with their own IP address. Companies create domain names for their websites (i.e. Suite101.com) and attach that domain name to the IP address. When a visitor types a domain name in the browser the internet translates it to its IP address and sends the visitor to the site accordingly. Some web servers have the ability to host a number of websites on a single IP address using a process called virtual hosting. This involves associating sites to distinct port/IP address combinations on the server.

Process isolation is an another feature for a web server. It?s important that if something happens to a website and it crashes that it doesn?t bring down all the other websites that reside on the server. Process isolation involves setting a website to run in its own process on the server.

Authentication

Web Servers must support the ability to authenticate visitors to a site that is secure.

* Anonymous authentication means that everyone has access and there is no security required.

* Basic authentication means that a user name and password are required and are passed to the server in clear text (usually by entering the username and password in a login screen on the website.

While this is secure, it?s open to risk because the security credentials are passed in clear text.

* NTLM is a Microsoft security protocol that encrypts the credentials before being passed.

Finally all web servers offer SSL (Secure Socket Layer) which is a secure transport layer that encrypts all communications between the browser and the web server. Port 443 is the most common SSL port used.

If you use Basic authentication with SSL you have a much more secure authentication process.

Performance

Another important aspect for web servers is performance. How well do they perform under load, how many requests (pages) are server per minute (throughput), how many users can request content at any given time (concurrency). Performance testing of applications is an important activity when developing a website and the web server can be a bottle neck itself.

Top 5 Web Servers

According to Netcraft Surveys the following are the most popular web servers used as of September 2007:

* Apache 50.48%

* IIS 34.94%

* Google 4.9%

* Sun 1.64%

* Lighttpd 1.12%

Selecting the right Web Server

If you have Microsoft windows servers in house, it?s likely you will go with IIS. It?s part of the server that you just have to turn on.

This means you are developing in Microsoft technologies. You may already have a team of Java or PHP developers in house which means you are leaning toward web servers like Apache and WebSphere.

Deciding to use open source software in house is another decision you need to consider carefully. Support is generally fairly good in the community but there’s no official support team when things go wrong.

Selecting a web server is an important decision. Whatever decision you make will lead you down a specific development road (Microsoft vs Java). So make sure you understand their capabilities overall and then select according to your technology strategy.

Imroz

About the author

Imroz Baig wrote 95 articles for Techstarz.

He is one of the founder members of Techstarz. He holds an engineering degree in computer science and an mba in systems. Imroz is based in mumbai and works for a privately owned software development firm. He blogs at techstarz and his personal blog at imrozbaig.com

You can leave a response, or trackback from your own site.

One Response to “An Introduction to Webservers”

  1. Good opinion. How did you came up like this?

Leave a Reply

What is 6 + 8 ?
Please leave these two fields as-is:
Please answer the simple math question to post comment. This is to avoid spams.
Copyright © Techstarz.com. All rights reserved.