Read carefully: the very first sentences from Tomcat's home page:
Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process.
Thank you for proving my point. Tomcat is
NOT a web server. It compiles and executes application code making it an application server.
There is much more to application servers than just the http protocol and servlets.
I think this is the hair that is being split here. There
can can be a lot more to an app server, but there does not have to be. It just has to compile, exicute and serve applicaitons.
There is no requirement that the entire J2EE stack to be implemented to call a server an app server. If we followed that logic then web applications could only be written in Java. I am sure more than a few ASP and C# guys would disagree with that.