In generale, il server Apache HTTP è solo un semplice vecchio server Web progettato per servire pagine Web statiche. Ci sono molti moduli che possono essere installati per migliorare le capacità di Apache in modo che possa servire pagine web dinamiche utilizzando varie tecnologie come PHP, CGI o altro, ma il nucleo di Apache è semplicemente un vecchio server HTTP.
Tomcat, d'altra parte, è specificamente progettato da zero per servire da motore Java Servlet . Lo scopo principale è implementare l'API Java Servlet ed eseguire servlet Java allo scopo di creare siti Web dinamici. Tomcat può anche essere usato come un normale server HTTP che serve pagine statiche, ma questo non è il suo scopo principale. (Inoltre, Tomcat è presumibilmente più lento di httpd Apache quando si tratta di servire pagine statiche.)
Le due tecnologie possono essere utilizzate insieme attraverso un modulo connettore chiamato mod_jk . Ciò ti consentirà di utilizzare il server Apache HTTP per servire normali pagine web statiche e il motore Tomcat Servlet per eseguire servlet.