Web Application Specifications
Overview
This section provides a list of API specifications which are implemented by Apache Tomcat.
The specifications are developed and maintained by the Java Community Process (JCP). The members of the JCP are coming from software industry, other organizations like the Apache Software Foundation (ASF), educational institutions but include also individual (personal) members.
Each specifications starts its life as a so-called Java Specification Request JSR. The JSRs are also known by the unique number they receive once the specification process starts. On the web site of the JCP you can find an overview page for each spec, and a separate download page. The download page lists various stages of each spec reflecting the development process of JCP specs. Examples are "Early Draft Review", "Public Final Draft" and "Final Release". You would like to make sure that you always access the latest documents.
Different Tomcat versions implement different versions of the specifications (see main site, wiki).
Java Servlet Specifications
Servlet 4.0 specification is JSR 369.
Servlet 3.1 specification is JSR 340.
Servlet 3.0 specification is JSR 315.
Servlet 2.5 is a maintenance release of Servlet 2.4. Both are JSR 154.
Spec versions: |
Servlet 4.0 |
Main page: |
|
Java.net project: |
servlet-spec |
Stable: |
Final Release |
Date: |
05 Sept, 2017 |
Download Page: |
|
Online Javadoc: |
Java EE 8 (A javaee.github.io link. Not available at docs.oracle.com?) |
Minimum Tomcat version: |
9.0.0 |
Spec versions: |
Servlet 3.1 |
Main page: |
|
Java.net project: |
|
Stable: |
Final Release |
Date: |
28 May, 2013 |
Download Page: |
|
Online Javadoc: |
|
Minimum Tomcat version: |
8.0.0 |
Spec versions: |
Servlet 3.0 |
|
Main page: |
||
Stable: |
Final Release |
Maintenance Release (Version 3.0 Rev a) |
Date: |
10 Dec, 2009 |
6 Feb, 2011 |
Download Page: |
||
Online Javadoc: |
||
Minimum Tomcat version: |
7.0.0 |
7.0.25 |
Spec versions: |
Servlet 2.5 |
|
Main page: |
||
Stable: |
Maintenance Release |
Maintenance Release 2 |
Date: |
11 May, 2006 |
11 Sep, 2007 |
Download Page: |
||
Online Javadoc: |
||
Minimum Tomcat version: |
6.0.0 |
6.0.44 (bug 57703) |
Spec versions: |
Servlet 2.4 |
Main page: |
|
Stable: |
Final Release |
Date: |
24 Nov, 2003 |
Download Page: |
|
Online Javadoc: |
|
Minimum Tomcat version: |
5.0.0 |
JavaServer Pages and Expression Language Specifications
JSP 2.3 is the second maintenance release of JSP 2.1 (JSR 245). Expression Language 3.0 is JSR 341.
JSP 2.2 is the first maintenance release of JSP 2.1 (JSR 245).
JSP 2.1 is JSR 245.
JSP 2.0 is JSR 152.
Expression Language was covered by JSP 2.0 and JSP 2.1 specifications, but became a separate document starting with JSP 2.2.
Spec versions: |
JSP 2.0 |
Main page: |
|
Stable: |
Final Release |
Date: |
24 November, 2003 |
Download Page: |
|
Online Javadoc: |
|
Minimum Tomcat version: |
5.0.0 |
Spec versions: |
JSP 2.1 |
Main page: |
|
Stable: |
Final Release |
Date: |
11 May, 2006 |
Download Page: |
|
Online Javadoc: |
|
Minimum Tomcat version: |
6.0.0 |
Spec versions: |
JSP 2.2, EL 2.2 |
Main page: |
|
Stable: |
Maintenance Release |
Date: |
10 Dec, 2009 |
Download Page: |
|
Online Javadoc: |
|
Minimum Tomcat version: |
7.0.0 |
Spec versions: |
JSP 2.3 |
EL 3.0 |
Main page: |
||
Java.net project: |
||
Stable: |
Maintenance Release 2 |
Final Release |
Date: |
12 Jun, 2013 |
22 May, 2013 |
Download Page: |
||
Online Javadoc: |
||
Minimum Tomcat version: |
8.0.0 |
Java API for WebSocket
Java API for WebSocket is JSR 356. An implementation is to be included in Tomcat 8. See also Bug 51181.
Since Tomcat 7.0.47 this implementation is included with Tomcat 7, but it is only available if Tomcat is run with Java 7 or later.
Spec versions: |
Java API for WebSocket 1.0 |
Java API for WebSocket 1.1 |
Main page: |
||
Java.net project: |
||
Stable: |
Final Release |
Maintenance Release |
Date: |
22 May, 2013 |
5 August, 2014 |
Download Page: |
||
Online Javadoc: |
|
|
Minimum Tomcat version: |
7.0.47, 8.0.0 |
7.0.56, 8.0.13 |
Java Authentication Service Provider Interface for Containers Specification
JASPIC 1.1 is the second maintenance release, Maintenance Release B, of JASPIC 1.0 (JSR 196).
Spec versions: |
JASPIC 1.0 |
JASPIC 1.1 |
Main page: |
||
Java.net project: |
||
Stable: |
Final Release |
Maintenance Release B |
Date: |
10 Oct, 2007 |
12 Jun, 2013 |
Download Page: |
||
Online Javadoc: |
||
Minimum Tomcat version: |
8.5.0 |
See Also
Protocol Specifications
The following are specifications for the web protocols supported by Tomcat.
HTTP
HTTP 0.9 |
The Original HTTP as defined in 1991 at W3.org |
HTTP/1.0 |
|
HTTP/1.1 |
RFC 2068 (January 1997) - obsolete, replaced by 2616 |
Related Specifications
"HTTP Authentication: Basic and Digest Access Authentication" |
It was updated by RFC 7235. |
"HTTP State Management Mechanism" |
Obsolete specifications: RFC2109, RFC 2965. |
"Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)" |
AJP
The AJP protocol specification lives on the Apache Tomcat Connector web site.
AJP/1.3 |
SPDY
TBD
SPDY protocol is obsolete, has been replaced by HTTP/2.
draft-mbelshe-httpbis-spdy-00 (Draft 3), Expires: August 4, 2012
List of protocol specifications, at dev.chromium.org
HTTP/2
HTTP/2 home page, maintained by the IETF HTTPbis Working Group
HTTP/2 |
RFC 7540 (May 2015) - Hypertext Transfer Protocol Version 2 (HTTP/2) |
Note: Firefox enabled HTTP/2 protocol starting with version 34 (released on December 1, 2014), according to its Site Compatibility for Firefox 34.
WebSocket
WebSocket protocol is specified by RFC 6455.