Web Container Vs. Web Server

Though it started out as a pure information resource, freely accessible to people all over the globe, the world wide web has evolved to offer much more today. As opposed to the passive information repository it was before, now Internet offers many services ranging from online banking, social networking, email, e-shopping, video sharing, online auctions to multiplayer gaming and much more, which are all made possible due to the advances in web technologies.

All these services are enabled by web servers, which host the pages and handle all the client queries. Associated technologies like web containers are used to extend server functionality and provide additional services through usage of Java servlets. In this Buzzle article, I present a web container vs web server comparison which clarifies the differences between these two commonly used web technologies.

What is a Web Server?
The whole TCP/IP (Transmission Control Protocol / Internet Protocol) based Internet architecture is based on a ‘Client-Server’ model. Every time you type in a web site address in your browser, a query is sent to the web server, hosting the pages. All the web site resources (pages, images) and services are hosted on it, which are then served to the client web browsers, according to request. Through HTTP (Hypertext Transfer Protocol), a server communicates with client computers to facilitate the sharing of data and resources.

Of the different types of computer servers, these types have the most complicated software architecture and are usually run on high-end machines with great processing power, with 24×7 battery backup. Ergo, when one refers to a web server, it refers to the server software, as well as computer hardware. Microsoft’s Internet Information Services (IIS), Apache HTTP Server and nginx are some of the most commonly used web servers on the Internet.

What is a Web Container?
A web container (more commonly known as a servlet container) is an application implemented on web servers to makes the implementation of ‘Java Servlets’ and ‘Java Server Pages’ possible. A container creates a completely independent environment for running servlets and Java server pages for the purpose of offering dynamic content to website visitors. It is primarily designed to run Java coding on a web server. All web containers are JEE (Java Platform Enterprise Edition) compliant. The servlets are executed in the run time environment provided by the container through the use of JSP engine and servlet engines. One of the most popular web containers is Apache Tomcat. It is an open source software program developed by the Apache Software Foundation.

Difference Between Web Container and Web Server
A web container is purely devoted to running of servlets while a web server is involved in delivering web page data and resources, according to client requests. A web server runs several applications including a web container software. Therefore a web server is a super set, of which a web container is only a part. However, some modern web containers can function without the support of a web server and act as standalone servers, for providing dynamic content. With the help of web containers, a web server can offer applications running on the Java platform. The fact that modern web containers can be implemented independently, may have led to the confusion between the two technologies.

To conclude, a web container is an application run by a web server to provide added site functionality for a hosted website and is primarily an environment in which servlets are implemented. On the other hand, a web server is the ‘mother-ship’ of all technologies deployed by a web site which directly handles all the client requests for data and resources hosted by it. For more information on servlets and web containers, it’s suggested that you refer to Sun’s tutorial on the same topic.

SMTP Server

SMTP is an Internet standard for sending emails across Internet Protocol (IP) networks. It was in Request for Comments i.e. RFC 821 that SMTP was first defined and it was last updated by RFC 5321, which includes the extended SMTP (ESMTP) additions. It is a specified protocol which is used for outgoing mail transport and uses TCP port 25. To explain this in simpler words, a SMTP server, works like a router, as it receives outgoing mail messages from users and routes them to the intended recipients. It makes use of either the Simple Mail Transfer Protocol or Unix sendmail program. Often the mail messages have to pass through a number of servers to reach their destinations.

Settings

You can have SMTP service installed on your local machine by following the below mentioned steps.

  • Go to the ‘Start’ menu and go to ‘Control Panel’.
  • Then double click the ‘Add or Remove Programs’ option.
  • In the left pane, click the ‘Add/Remove Windows Components’ option.
  • In the ‘Components’ list, you will see ‘Application Server’. Click it, and then select ‘Details’.
  • In the sub-components of ‘Application Server’ list, select ‘Internet Information Services (IIS)’, and go to ‘Details’.
  • In the sub-components of Internet Information Services (IIS) list, check the ‘SMTP Service’ checkbox and then click OK.
  • Now click ‘Next’. Here you may be prompted for the Windows Server 2003 family CD or the network install path.
  • Provide the required details and then click ‘Finish’.

After you have installed this service, a default configuration is created. The message store is located in LocalDrive:\Inetpub\mailroot. While setting up this service for the first time, you may want to configure global settings for a virtual server as well as settings for individual components. Some of these commands include:

  • HELO / EHLO: This is a command which is used to identify the sender (client).
  • MAIL FROM: This is where the email (also e-mail) address of the sender is specified.
  • RCPT TO: Here the email address of the recipient is specified.
  • DATA: It is the actual data (body text, attachments etc).
  • RSET (RESET): This command specifies that the current mail transaction will not be carried forward and will be aborted.
  • VRFY (VERIFY): This command asks the receiver to confirm whether the argument identifies a user or a mailbox.
  • HELP: With this command the useful information is sent to the client.
  • QUIT: This command indicates that the server quits the session

How to Find Server Address

In case you are collecting email from your ISP, you can find this address from the existing settings by following steps.

  • Start ‘Outlook Express’, go to ‘Tools’ and select ‘Email Accounts’ and navigate to the next page.
  • In the new window that appears, select ‘View or change existing email accounts’ and click ‘Next’.
  • Now, select the name of your ISP account, and then click ‘Change’.
  • Under the heading ‘Server Information’, you will come across an entry for ‘Outgoing mail server (SMTP)’. Write down the entry in this box, which will usually appear in a format similar to: ‘mail.myisp.com.’. This is the address which you are looking for and you will need while configuring your domain name based email.

Free SMTP Server

These can be used to send email directly. Most of these programs do support email programs like Outlook Express and Eudora, but it is often seen that they work the best with Outlook Express. You will have to follow the instructions to set and test it, before you are able to communicate with people all around the world. You will have to make the relevant changes in the IIS as mentioned.

These servers are best when you are traveling or accessing the Internet from public places, or you have to send a bulk of emails. It will take care of security and privacy of the data that is being transmitted through your emails.