You wouldn't choose to use a Ford Ka as your car for that holiday of a lifetime travelling across Europe, neither would you choose a Jaguar as your idea car for the school run. Yet both of them are perfectly good models of car. Indeed as a family, you might have one of each.
Apache httpd and Apache Tomcat and both web servers. You can have either of them listen on port 80 for requests in http and answer those requests. But just as the luxury Ford - the Jaguar - was great for that holiday and the budget Ford - the Ka - was great for the school trips, so each has its own use and place.
Apache httpd - the original Apache Web Server is sometimes just called "Apache" still. It's great for serving out static content - HTML pages that don't change, Images, style sheet, and also shorter scripts and quieter site activities with the scripts often written in Perl or PHP. Apache httpd is pretty common - I think I've seen comment that it's the server that fronts as many as 70% of all registered domains worldwide.
Apache Tomcat is a different beast. Rather than serving each page "ad hoc" as it's called up, it runs web applications in containers and it keeps them running, handling requests from multiple users, with the application staying in the computer memory. In contrast to httpd, Tomcat is great for the big sites - on line banking and passport applications, shopping sites for huge supermarkets, end the like.
Just as a family might have a Ka and a Jag, so a web site might be run with both httpd and Tomcat. In fact, it would be much more common that having two cars as both servers are open source and only cost you memory and resources. It's usual for httpd to be the user-facing server since so many requests made are for odd images, help information, style sheets and the like. Then httpd calls on to Tomcat in the case of meatier requests. Properly configured, the user doesn't even need to know that the web server he's contacted has passed his request on and is just acting as a relay station.
Links:
Course - Deploying Apache httpd and Tomcat
Connection Apache httpd to Tomcat - 7 ways to do it (written 2006-01-25, updated 2008-05-04)
| Commentator | says ... | | Kelly: | You have described half the Apache implementations I've worked on. I only have http at home, but work uses whatever is appropriate. I agree with your analogy.
Kelly (comment added 2006-01-25 16:52:21) |
Associated topics are indexed under
A099 - Java Application - Deployment on the Web [2599] Telling Apache web servers apart / notes for the non-technical - (2010-01-26)
[2130] Javascript - move cursor over image to change a different image. - (2009-04-16)
[1621] Linux and Java Course in London - (2008-04-24)
[673] Helicopter views and tartans - (2006-04-06)
[659] Web Application Components - (2006-03-28)
[166] Acronyms - (2005-01-02)
A601 - Web Application Deployment - Apache httpd - an overview [2186] An FAQ on the Apache httpd and Apache Tomcat web servers, and on using them together - (2009-05-17)
[2077] Why put Apache httpd in front of Apache Tomcat - (2009-03-12)
[2063] Internal Dummy Connections on Apache httpd - (2009-03-02)
[2054] Tuning httpd / the supermarket checkout comparison - (2009-02-26)
[2038] Sticky Sessions with mod_jk (httpd to Tomcat) - (2009-02-12)
[2016] Apache httpd and Apache Tomcat miscellany - (2009-01-30)
[1897] Keeping on an even keel - (2008-11-21)
[1593] Keep the client experience easy - single server contact point - (2008-03-27)
[1265] Apache, Tomcat, Jakarta, httpd, web server - what are they? - (2007-07-13)
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl - (2006-11-13)
A651 - Web Application Deployment - Tomcat Overview [2753] You do not just fly - that is just part of the journey - (2010-05-06)
[1941] Server - Service - Engine - Host, Tomcat - (2008-12-14)
[1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
[498] Why is Tomcat called Tomcat? - (2005-11-17)
[49] Business is the predominant user of Tomcat, Perl and Tcl - (2004-09-15)
A655 - Web Application Deployment - Using Tomcat and Apache httpd Together [3018] Tuning Apache httpd and Tomcat to work well together - (2010-10-27)
[2482] Load balancing with sticky sessions (httpd / Tomcat) - (2009-10-29)
[1944] Forwarding session and cookie requests from httpd to Tomcat - (2008-12-14)
[1940] URL rewriting with front and back servers - (2008-12-14)
[1938] Predictive Load Balancing - PHP and / or Java - (2008-12-13)
[1552] Extra public classes in deploying Apache httpd and Tomcat - (2008-02-24)
[1549] http, https and ajp - comparison and choice - (2008-02-22)
[1383] Monitoring mod_jk and how it is load balancing - (2007-10-07)
[1376] Choosing between mod_proxy and mod_rewrite - (2007-10-02)
[631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
[436] Linking Apache httpd to Apache Tomcat - (2005-09-05)
A657 - Web Application Deployment - Using httpd to front Tomcat [2483] Clustering on Tomcat - (2009-10-30)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
Some other Articles
What to do with milkShort Linux and Perl courses for small groupsWoman screaming at meLearning to program in Perl or PHPWhy run two different web serversEating for the single business travellerPHP - dividing a string up into piecesGiving an excuse for ChristmasGiving the researcher power over database analysisWell House Manor