Difference between Apache Web Server and Tomcat Server

B

BIG BOY

Sir I am little bit confused about Apache Web Server and Apache Tomcat
Server. Please give me an link so that i can find it out.
 
D

Davide Consonni

BIG said:
Sir I am little bit confused about Apache Web Server and Apache Tomcat
Server. Please give me an link so that i can find it out.

apache web server is a webserver.
tomcat is a servlet container.
 
M

Matt Rose

Davide said:
apache web server is a webserver.
tomcat is a servlet container.

Apache is what your browser connects to, tomcat is what apache connects
to to ask for servlets to be processed. However, tomcat now includes a
webserver so you can cut out the middle man. You might not want to do
this on a large production environment.

Matt
 
F

fabrulous

Davide said:
apache web server is a webserver.
tomcat is a servlet container.

nitpicking a bit... You make it sound like Tomcat cannot act as a web
server.

Tomcat can run either in stand-alone mode or "connected" to Apache.

In stand-alone mode, Tomcat can process servlets (and JSPs) and can
serve static content as well... And it does it *very* fast.

Tomcat is actually, for many uses, a very good web server.

Note that there are case where it is more appropriate to
use Apache + Tomcat just as there are case where it is
more appropriate to use Tomcat in stand-alone mode.
 
D

Davide Consonni

In stand-alone mode, Tomcat can process servlets (and JSPs) and can
serve static content as well... And it does it *very* fast.

ok, but apache httpd is faster than tomcat and has a better virtual host
management.
usually people but tomcat behind apache with a connector ..
 
T

Tom Cole

Second that.
ok, but apache httpd is faster than tomcat and has a better virtual host
management.
usually people but tomcat behind apache with a connector ..

Bet you can't find supporting data for that (usually people put tomcat
behind apache with a connector). My bet would be that most small to
mid-sized sites don't. I have situations with both (actually I have a
third scenario with IIS in front of Tomcat as well) and see no
significant difference in response times. Then again I'm only talking
about dealing out thousands of pages a day. I'm sure that in a
high-volume app that would be different.

I prefer the all Tomcat solution myself where it fits (which would be
most cases).

But to respond to the OP:

Apache is webserver only. Use it for HTML, SHTML, images, etc. With the
exception of SSI, this is static stuff. For dynamic stuff (like PHP,
Perl, Servlets, etc.) it needs help from other programs.

Tomcat is a servlet container. Use it for JSP, Servlets (and if you
want, all the stuff Apache does).

JBoss is an application server. Use it if your application uses
Enterprise JavaBeans.
 
M

Mark Space

BIG said:
Sir I am little bit confused about Apache Web Server and Apache Tomcat
Server. Please give me an link so that i can find it out.

I'm just gonna repeat what others have said.

Apache = web server. I'm sure you know what that is.

Tomcat is like Perl. Perl runs Perl scripts through CGI for Apache.
Tomcat runs Java (servlets and JSP, but it's all Java) through CGI for
Apache. Actually, Tomcat has a more sophisticated connection to Apache
than CGI, but that's really just a detail of the implementation for this
discussion. Fix in your mind that Tomcat = Java CGI, and you've got the
basics.

As others have mentioned, Tomcat also can be a stand-alone HTTP server,
but it's not as robust or sophisticated as Apache. I'd only use Tomcat
alone for testing, or for small internal web sites. For real production
work, put Apache in front of Tomcat (just like you'd normally use Apache
to run in front of Perl or other CGI scripting) and you're ready for the
big leagues.
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Tom said:
Bet you can't find supporting data for that (usually people put tomcat
behind apache with a connector). My bet would be that most small to
mid-sized sites don't. I have situations with both (actually I have a
third scenario with IIS in front of Tomcat as well) and see no
significant difference in response times. Then again I'm only talking
about dealing out thousands of pages a day. I'm sure that in a
high-volume app that would be different.

I would expect huge files to be sligthly faster in
Apache or IIS than by Tomcat.

Else the only reason for a speedup would be the
use of HTTPS where Apache or IIS are using a hardware
SSL accelerator.

Arne
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

BIG said:
Sir I am little bit confused about Apache Web Server and Apache Tomcat
Server. Please give me an link so that i can find it out.

As others already have said then:

Apache HTTPD = HTTP server
Apache Tomcat = servlet container

and you can run:

--(HTTP)--HTTPD
--(HTTP)--Tomcat
--(HTTP)--HTTPD--(AJP)--TOMCAT

at your choice.

You can lookup docs at the Apache web site.

The reasons for putting Apache in front of Tomcat
are typical:
- loadbalancing
- need for non Java stuff like PHP
- need for SSL hardware acceleration

Arne
 
D

David Segall

Tom Cole said:
Tomcat is a ... and if you want, all the stuff Apache does.
Is that really true? Can I use Tomcat as a front end for PHP, Perl
etc? Does it have similar facilities for limiting access?
 
M

Mark Space

David said:
Is that really true? Can I use Tomcat as a front end for PHP, Perl
etc? Does it have similar facilities for limiting access?

I'm not an Apache expert, and I doubt Tomcat will really do *all* that
Apache does. But Tomcat definitely has facilities for limiting user
access based on user roles, and for hiding scripts and other back-end
components from all users.
 
R

Robert Klemme

I would expect huge files to be sligthly faster in
Apache or IIS than by Tomcat.

Why do you expect that? I'd rather expect the opposite because the time
for streaming a large file from disk to network is mostly determined by
IO and network bandwidth whereas for smaller files the overhead of HTTP
header processing etc. would make up a greater portion of overall
timing. Are there any optimizations in apache (caching the whole file?)
that will make it faster on large files?

Kind regards

robert
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Robert said:
Why do you expect that? I'd rather expect the opposite because the time
for streaming a large file from disk to network is mostly determined by
IO and network bandwidth whereas for smaller files the overhead of HTTP
header processing etc. would make up a greater portion of overall
timing. Are there any optimizations in apache (caching the whole file?)
that will make it faster on large files?

My basis is practical. If Apache performs poorly for big
files, then users complain and it get fixed. If Tomcat performs
poorly for big files, then no users complain, because no users
uses Tomcat for that, so it never get fixed.

I did a simple test. One full size CD image. 10 downloads
singlethreaded.

Apache 2.0 - 155 seconds
Tomcat 5.5 - 185 seconds

Practically default config on both.

It does not prove anything, because there are a bazillion
possible test scenarios and test configs and not really
a way to say what is most correct.

But it did at least not prove my hypothesis wrong.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top