Comparison of web server software

This article is a comparison of web server software.

The first web servers only supported static files, such as HTML (and images), but now they most commonly allow embedding of server side applications, written in some programming language. Sometimes a setup of a separate web server software, apart from your application, isn't needed; e.g. the Django framework, for Python, includes a web server, and later versions of the official PHP language runtime, that historically was dependent on the Apache web server, now include a web server, but that embedded web server is meant to be used only for development (i.e. not in a production environment).

Overview

Server Developed by Software license Last stable version Latest release date
AOLserver NaviSoft Mozilla 4.5.2 2012-09-19
Apache HTTP Server Apache Software Foundation Apache 2.4.27 2017-07-11
Apache Tomcat Apache Software Foundation Apache 8.5.16 2017-06-26
Boa Jon Nelson and Larry Doolittle GNU GPL 0.94.13 2002-07-30 (discontinued)
Caddy Matt Holt Apache 0.9.5 2017-01-24
Caudium The Caudium Group GNU GPL 1.4.18 2012-02-24
Cherokee HTTP Server Álvaro López Ortega GNU GPL 1.2.103 2013-04-21
GlassFish "Oracle Corporation (initial code from Sun Microsystems)" Common Development and Distribution License & GNU General Public License 4.1.2 2017-03-31
Hiawatha Hugo Leisink GNU GPLv2 10.4 2017-03-31
HFS Rejetto GNU GPL 2.3i 2016-06-14
IBM HTTP Server IBM Non-free proprietary 9.0.0 2016-03-11
Internet Information Services Microsoft Non-free proprietary 10 2015-07-29
Jetty Eclipse Foundation Apache 9.4.0 2016-12-12
Jexus Bing Liu Non-free proprietary 5.5.2 2014-04-27
lighttpd Jan Kneschke (Incremental) BSD variant 1.4.45 2017-01-14
LiteSpeed Web Server LiteSpeed Technologies Non-free proprietary 5.1.10 2016-07-11
Mongoose Cesanta Software GNU GPLv2 / proprietary license 6.6 2016-11-12
Monkey HTTP Server Monkey Software Apache 1.6.9 2016-05-04
NaviServer Various Mozilla 1.1 4.99.14 2016-11-18
NCSA HTTPd Robert McCool Non-free proprietary 1.5.2a 1996-10-08
Nginx NGINX, Inc. BSD variant 1.12.0 2017-04-12
OpenLink Virtuoso OpenLink Software GNU GPL and proprietary versions 7.2.4 2016-04-24
OpenLiteSpeed LiteSpeed Technologies GNU GPLv3 / proprietary license 1.4.24 2016-12-01
Oracle HTTP Server Oracle Corporation Non-free proprietary 12.1.2 2014-09-23
Oracle iPlanet Web Server Oracle Corporation BSD 7.0.23 2016-02-12
Oracle WebLogic Server Oracle Corporation
(formerly BEA Systems)
Non-free proprietary 12cR3 (12.1.3) 2014-06-26
Resin Open Source Caucho Technology GNU GPLv3 / proprietary license 4.0.49 2016-10-19
Resin Professional Caucho Technology Non-free proprietary 4.0.49 2016-10-19
thttpd Jef Poskanzer for ACME Laboratories BSD variant 2.27 2014-10-03
TUX web server Ingo Molnár GNU GPL 3.2.6.18 2006-09-20
Wakanda Server Wakanda GNU AGPLv3 / proprietary license 1.1.2 2016-11-25
WEBrick Ruby Community Ruby 1.9.3 p286 (Ruby) 2012-10-12
Xitami iMatix Corporation BSD 5.0a0 2009-02-19
Yaws Claes Wikström BSD variant 2.0.4 2016-09-22
Zeus Web Server Zeus Technology Non-free proprietary 4.3r5 2010-01-13
Zope Zope Corporation Zope 2.13.21 2013-07-16
Server Developed by Software license Last stable version Latest release date

Features

Server Security   Dynamic content[lower-alpha 1]
basic
access
authentication
digest
access
authentication
SSL/TLS
https
virtual
hosting
CGI FCGI SCGI WSGI Java
Servlets
SSI ISAPI SSJS Runs in user space
or kernel space
Administration
console
IPv6 HTTP/2
AOLserver Yes No Yes[lower-alpha 2][lower-alpha 3][lower-alpha 4][1] Yes Yes No Unknown No No Yes Unknown Unknown user Unknown Unknown Unknown
Apache HTTP Server Yes Yes Yes[lower-alpha 5][lower-alpha 3][2][lower-alpha 6][3] Yes Yes Yes Yes Yes[lower-alpha 5] No[lower-alpha 7] Yes Yes[lower-alpha 8] Unknown user Yes[lower-alpha 9] Yes Yes
Apache Tomcat Yes Yes Yes[lower-alpha 10][4] Yes Yes No Unknown No Yes Yes No[lower-alpha 11] Unknown user Yes Yes[lower-alpha 12] Unknown
Boa No No Yes[lower-alpha 13] Yes Yes No Unknown No No No No Unknown user Unknown Yes Unknown
Caddy Yes No Yes Yes Partial[lower-alpha 14] Yes No No No No[lower-alpha 15] No No user No Yes Yes
Caucho Resin Server Yes Yes paid version[lower-alpha 3] Yes Yes Yes Unknown No Yes Yes No Unknown user Yes Yes Unknown
Caudium Yes Yes Yes Yes Yes Yes Unknown No Yes Yes Unknown Unknown user Yes Yes[lower-alpha 16] Unknown
Cherokee HTTP Server Yes Yes Yes Yes Yes Yes Yes Yes No Yes No Unknown user Yes Yes[5] Unknown
HFS Yes No Yes via Stunnel[6] No No No Unknown No No No Unknown Unknown user Unknown No Unknown
Hiawatha HTTP Server Yes Yes Yes[lower-alpha 17][7] Yes Yes Yes No No No Yes No Unknown user Yes Yes Unknown
IBM HTTP Server Yes Yes Yes Yes Yes Yes Unknown No No Yes No Unknown user Yes Yes Unknown
Internet Information Services Yes Yes Yes Yes Yes Yes Yes No No[lower-alpha 18] Yes Yes Yes kernel and user[8] Yes Yes Yes
Jetty Yes Yes Yes Yes Yes Unknown Unknown No Yes Unknown Unknown Yes user Unknown Unknown Yes
Jexus No No Yes Yes No Yes No No No No No Yes user Yes No Unknown
lighttpd Yes Yes Yes[lower-alpha 3][9] Yes Yes Yes Yes Yes No[lower-alpha 7] Yes No No user No Yes No
LiteSpeed Web Server Yes Yes Yes Yes Yes Yes Unknown No No[lower-alpha 7] Yes No Unknown user Yes Yes Yes
Mongoose Yes Yes Yes Yes Yes No No No No Yes No No user Yes Yes Unknown
Monkey HTTP Server Yes No Yes[lower-alpha 17] Yes Yes Yes No No No No No No user No Yes Unknown
NaviServer Yes No Yes Yes Yes No Unknown No No No Unknown Unknown user Yes Unknown Unknown
NCSA HTTPd Yes Yes Unknown Partial[lower-alpha 19] Yes Unknown Unknown No No Yes No Unknown user Unknown Unknown Unknown
nginx Yes Yes (module) Yes Yes No Yes Yes Yes No[10] Yes No Unknown user Yes[11] Yes[12] Yes[13]
OpenLink Virtuoso Yes Yes Yes Yes No No No No Yes Yes No No user Yes No No
Oracle HTTP Server[14] Yes Yes Yes Yes Yes Yes Unknown No No Yes No Unknown user Yes[lower-alpha 20] Yes Unknown
Oracle iPlanet Web Server Yes Yes Yes Yes Yes Yes Unknown No Yes Yes No Yes user Yes Yes Unknown
thttpd Yes Unknown No Yes Yes No Unknown No No No No Unknown user No Yes Unknown
TUX web server No No No Yes Yes No Unknown No No No No Unknown kernel Unknown Unknown Unknown
Wakanda Server Yes Yes Yes Yes No No No No No No No Yes user Yes Yes Unknown
Xitami Yes Unknown paid version Yes Yes Unknown Unknown No Unknown Yes Unknown Unknown user Unknown Unknown Unknown
Yaws Yes Unknown Yes Yes Yes Yes Unknown No No Yes No Unknown user Unknown Yes Unknown
Zeus Web Server Yes Yes Yes Yes Yes Yes Unknown No No[lower-alpha 7] Yes Yes Unknown user Yes No Unknown
  1. The "dynamic content" columns indicate whether the server itself implements the given feature. Other features may be available by delegation (e.g. Apache HTTP Server can delegate to Apache Tomcat for Servlet support).
  2. support for using RSA BSAFE
  3. 1 2 3 4 support for using openSSL
  4. support for using Network Security Services
  5. 1 2 via modules
  6. support for using GnuTLS
  7. 1 2 3 4 This server implements AJP; compatible third-party Servlet containers can be integrated to provide seamless Servlet support.
  8. This server can use the mod_isapi module for this support.
  9. via Geronimo
  10. support for using Java Secure Socket Extension
  11. While Tomcat does not implement ISAPI directly, it integrates well with Apache mod_jk which contains an ISAPI module for this purpose.
  12. Requires a JVM and OS that support IPv6.
  13. with external patch
  14. CGI implemented for WebSocket connections
  15. Same capabilities as SSI available with templates
  16. Version 1.4.8 of Caudium mentions IPv6 support but this is not explicitly specified on the official website. Maintainers have been sent a Documentation Update Query; please remove this warning notice when they update their website
  17. 1 2 support for using PolarSSL
  18. Servlet Engines are supported via isapi_redirect.
  19. Due to lack of support for HTTP/1.1, name based virtual hosts are not fully implemented.
  20. via Enterprise Manager

Operating system support

Server Windows Linux macOS BSD Solaris eComStation OpenVMS AIX IBM i z/OS HP-UX
AOLserver No Yes Yes Yes Yes No No Unknown No Unknown Unknown
Apache HTTP Server Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Apache Tomcat Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes
Boa Unknown Yes No Yes Unknown No No Unknown No Unknown Unknown
Caddy Yes Yes Yes Yes Yes No No Unknown Unknown Unknown Unknown
Caucho Resin Server Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Caudium[15] No Yes Yes Yes Yes No No Yes No Unknown Unknown
Cherokee HTTP Server No[16] Yes Yes Yes Yes No No Unknown No Unknown Unknown
HFS Yes No No No No No No No No No No
Hiawatha with Cygwin[17] Yes[17] Yes[17] Yes[17] Yes[17] No No No No No No
IBM HTTP Server Yes Yes No No Yes No No Yes Yes Yes Yes
Internet Information Services Yes No No No No No No No No No No
Jetty (Java) Yes Yes Yes Yes Yes Yes No Unknown No Yes Unknown
Jexus No Yes No Yes Unknown No No No No No No
lighttpd Yes
(Cygwin)
Yes Yes Yes Yes No No Yes No No Yes
LiteSpeed Web Server No Yes Yes Yes Yes No No Unknown No Unknown Unknown
Mongoose Yes Yes Yes Yes Yes No Yes Yes Yes No Yes
Monkey HTTP Server No Yes No No No No No No No No No
NaviServer Yes Yes Yes Yes Yes Unknown Unknown Yes No Unknown Unknown
NCSA HTTPd Unknown Yes No Yes Yes Yes No Unknown No Unknown Yes
nginx Yes Yes Yes Yes Yes No No Yes No No Yes
OpenLink Virtuoso Yes Yes Yes Yes Yes No No Yes No No Yes
Oracle HTTP Server Yes Yes No Unknown Yes No No Yes No Unknown Unknown
Oracle iPlanet Web Server Yes Yes No No Yes No No Yes No No Yes
thttpd Yes
(Cygwin)
Yes Yes Yes Yes No No Unknown No Unknown Unknown
TUX web server No Yes No No No No No No No No No
Wakanda Server Yes Yes
(via libbsd)
Yes Yes Unknown No No No No No No
Xitami Yes Yes Yes Yes Yes Yes Yes Yes No Unknown Yes
Yaws Yes Yes Yes Yes Yes No No Yes No Unknown Unknown

See also

References

  1. "Nsssl - AOLserver Wiki". Retrieved 2014-07-04.
  2. "Apache Module mod_ssl". Retrieved 2014-07-04.
  3. "mod_gnutls". Retrieved 2014-07-04.
  4. "Apache Tomcat 6.0 - SSL Configuration HOW-TO". Retrieved 2014-07-04.
  5. Installation guide shows server status with "IPv6 enabled"
  6. HFS: Secure your server
  7. Leisink, Hugo. "Features - Hiawatha webserver". hiawatha-webserver.org. Retrieved 2014-07-04.
  8. "States that the HTTP protocol stack http.sys runs in kernel space, while the rest of the software runs in user space". Technet2.microsoft.com. Retrieved 2012-02-28.
  9. "Secure HTTP". redmine.lighttpd.net. Retrieved 2014-12-09.
  10. "JavaServers". Wiki.nginx.org. Retrieved 2013-08-15.
  11. "Nginx Admin Installation Instruction". NginxCP.com. Retrieved 2013-08-15.
  12. Ghosh, Soumik (2010-09-05). "Enable IPv6 support". Nginx Library. Retrieved 2013-08-15.
  13. "nginx changelog". www.nginx.com. 2015-09-22.
  14. "Feature Overview - 10g R2 (10.1.2)" (PDF). Oracle.com. 2010-09-07. Retrieved 2012-02-28.
  15. "Webserver FAQs". Caudium. Retrieved 2012-02-28.
  16. John Poole. "Installation on Windows". cherokee-project.com. Retrieved 2014-11-23. "The Windows native build is currently broken."
  17. 1 2 3 4 5 Hugo Leisink. "About - Hiawatha webserver". hiawatha-webserver.org. Retrieved 2014-06-21.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.