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 as below, or enter http://melksh.am/nnnn for individual articles
A657 - Web Application Deployment - Using httpd to front Tomcat [631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
[1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1940] URL rewriting with front and back servers - (2008-12-14)
[1944] Forwarding session and cookie requests from httpd to Tomcat - (2008-12-14)
[2483] Clustering on Tomcat - (2009-10-30)
[3018] Tuning Apache httpd and Tomcat to work well together - (2010-10-27)
[3999] Handling failures / absences of your backend server nicely - (2013-02-08)
A655 - Web Application Deployment - Using Tomcat and Apache httpd Together [436] Linking Apache httpd to Apache Tomcat - (2005-09-05)
[1376] Choosing between mod_proxy and mod_rewrite - (2007-10-02)
[1383] Monitoring mod_jk and how it is load balancing - (2007-10-07)
[1549] http, https and ajp - comparison and choice - (2008-02-22)
[1552] Extra public classes in deploying Apache httpd and Tomcat - (2008-02-24)
[1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
[1938] Predictive Load Balancing - PHP and / or Java - (2008-12-13)
[2482] Load balancing with sticky sessions (httpd / Tomcat) - (2009-10-29)
A651 - Web Application Deployment - Tomcat Overview [49] Business is the predominant user of Tomcat, Perl and Tcl - (2004-09-15)
[498] Why is Tomcat called Tomcat? - (2005-11-17)
[659] Web Application Components - (2006-03-28)
[1265] Apache, Tomcat, Jakarta, httpd, web server - what are they? - (2007-07-13)
[1941] Server - Service - Engine - Host, Tomcat - (2008-12-14)
[2016] Apache httpd and Apache Tomcat miscellany - (2009-01-30)
[2077] Why put Apache httpd in front of Apache Tomcat - (2009-03-12)
[2186] An FAQ on the Apache httpd and Apache Tomcat web servers, and on using them together - (2009-05-17)
[2753] You do not just fly - that is just part of the journey - (2010-05-06)
[3997] Servlet v JSP (Java Server Page). What is the difference? - (2013-02-06)
[4434] Public training courses - upcoming dates - (2015-02-21)
A601 - Web Application Deployment - Apache httpd - an overview [924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl - (2006-11-13)
[1593] Keep the client experience easy - single server contact point - (2008-03-27)
[1897] Keeping on an even keel - (2008-11-21)
[2038] Sticky Sessions with mod_jk (httpd to Tomcat) - (2009-02-12)
[2054] Tuning httpd / the supermarket checkout comparison - (2009-02-26)
[2063] Internal Dummy Connections on Apache httpd - (2009-03-02)
[4064] Apache httpd - a robust, open source web server - (2013-04-16)
A099 - Java Application - Deployment on the Web [166] Acronyms - (2005-01-02)
[673] Helicopter views and tartans - (2006-04-06)
[1621] Linux and Java Course in London - (2008-04-24)
[2130] Javascript - move cursor over image to change a different image. - (2009-04-16)
[2599] Telling Apache web servers apart / notes for the non-technical - (2010-01-26)
[3891] The components of an Apache httpd / Tomcat / MySQL stack and what each does - (2012-10-13)
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