Jump to content

Comparison of web server software

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Udittmer (talk | contribs) at 13:24, 26 October 2022 (Overview: updated release dates). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Web server software allows computers to act as web servers. The first web servers supported only static files, such as HTML (and images), but now they commonly allow embedding of server side applications.

Some web application frameworks include simple HTTP servers. For example the Django framework provides runserver, and PHP has a built-in server. These are generally intended only for use during initial development. A production server will require a more robust HTTP front-end such as one of the servers listed here.

Overview

Server Developed by Software license Last stable version Latest release date
AOLserver NaviSoft Mozilla 4.5.2 2012-09-19 (discontinued)
Apache HTTP Server Apache Software Foundation Apache 2.4.54 2022-06-08
Apache Tomcat Apache Software Foundation Apache 10.0.27 2022-10-10
Boa Jon Nelson and Larry Doolittle GNU GPL 0.94.13 2002-07-30 (discontinued)
BusyBox httpd Glenn Engel, Vladimir Oleynik, BusyBox Team GNU GPL 1.34.0 2020-08-19
Caddy Matt Holt Apache 2.5.0 2022-04-25
Caudium The Caudium Group GNU GPL 1.4.18 2012-02-24
CERN httpd CERN, W3C, Tim Berners-Lee, Ari Luotonen and Henrik Frystyk Nielsen MIT Copyright Statement with acknowledgement to CERN 3.0A 1996-07-15

(discontinued)

Cherokee HTTP Server Álvaro López Ortega GNU GPL 1.2.103 2013-04-21
GlassFish Sun Microsystems, Oracle Corporation, since 2019 Eclipse Foundation Eclipse Public License & GNU General Public License 6.2.5 2022-02-13
Hiawatha Hugo Leisink GNU GPLv2 10.12 2021-03-25
HFS Rejetto GNU GPL 2.3m 2018-08-16
IBM HTTP Server IBM Non-free proprietary 9.0.5.4 2020-06-12[1]
Internet Information Services Microsoft Non-free proprietary 10.0.17763.1 2018-10-02
Jetty Eclipse Foundation Apache 11.0.6x 2021-03-29
Jexus Bing Liu Non-free proprietary 6.2.x 2020
lighttpd Jan Kneschke (Incremental) BSD variant 1.4.67 2022-09-17
LiteSpeed Web Server LiteSpeed Technologies Non-free proprietary 5.4.8 2020-07-01
Mongoose Cesanta Software GNU GPLv2 / proprietary license 6.18 2020-05-21
Monkey HTTP Server Monkey Software Apache 1.6.9 2016-06-04
NaviServer Various Mozilla 1.1 4.99.23 2021-12-31
NCSA HTTPd Robert McCool Non-free proprietary 1.5.2a 1996-10-08 (discontinued)
Nginx NGINX, Inc. BSD variant 1.21.0 2021-05-25
OpenBSD httpd Reyk Floeter ISC 5.8 2015-08-18
OpenLink Virtuoso OpenLink Software GNU GPL and proprietary versions 8.3.3316 2020-03-10
Oracle HTTP Server Oracle Corporation Non-free proprietary 12cR2 (12.2.1.4)[2] 2021-02-??[3]
Oracle iPlanet Web Server Oracle Corporation BSD 7.0.27 2017-10-01
Oracle WebLogic Server Oracle Corporation
(formerly BEA Systems)
Non-free proprietary 14c (14.1.1.0) [2] 2020-03-30
Resin Open Source Caucho Technology GNU GPLv3 / proprietary license 4.0.65 2020-07-29
Resin Professional Caucho Technology Non-free proprietary 4.0.65 2020-07-29
thttpd Jef Poskanzer for ACME Laboratories BSD variant 2.29 2018-05-24
TUX web server Ingo Molnár GNU GPL 3.2.6.18 2006-09-20 (discontinued)
Wakanda Server Wakanda GNU AGPLv3 / proprietary license 2.7.0 2019-04-29 (Discontinued)
WEBrick Ruby Community BSD 2-clause 1.6.0 2019-11-30
Xitami iMatix Corporation BSD 5.0a0 2009-02-19 (discontinued)
Yaws Claes Wikström BSD variant 2.0.7 2019-07-14
Zeus Web Server Zeus Technology Non-free proprietary 4.3r5 2010-01-13 (discontinued)
Zope Zope Corporation Zope 2.13.30 2020-02-14
Server Developed by Software license Last stable version Latest release date

Features

Some features may be intentionally not included to web server to avoid featuritis. For example:

  • TLS/HTTPS may be enabled with a separate stunnel daemon that terminates TLS and redirects raw HTTP packets to http daemon.
  • NGINX and OpenBSD httpd authors decided not to include CGI interpretation but instead use FastCGI. For OpenBSD was developed a slowcgi gateway.
  • BusyBox httpd doesn't have automatically generated directory listing but it may be implemented as a CGI script
Server Security Virtual
hosting
Dynamic content[a] Runs in user
or kernel space
Administration console Additional protocol support
Basic access
authenti-
cation
Digest access
authenti-
cation
SSL/TLS
https
CGI FCGI SCGI WSGI Java
Servlets
SSI ISAPI SSJS IPv6 HTTP/2 QUIC HTTP/3
AOLserver Yes No Yes[b][c][d][4] Yes Yes No Un­known No No Yes Un­known Un­known user Un­known Un­known Un­known Un­known Un­known
Apache HTTP Server Yes Yes Yes[e][c][5][f][6] Yes Yes Yes Yes Yes[e] No[g] Yes Yes[h] Un­known user Yes[i] Yes Yes Un­known Un­known
Apache Tomcat Yes Yes Yes[j][7] Yes Yes No Un­known No Yes Yes No[k] Un­known user Yes Yes[l] Yes Un­known Un­known
Boa No No Yes[m] Yes Yes No Un­known No No No No No user Un­known Yes No No No
BusyBox httpd Yes No No No Yes No No No No No[n] No No user No Yes No No No
Caddy Yes No Yes Yes Partial[o] Yes No No No No[p] No No user No Yes Yes Yes Yes[q]
Caucho Resin Server Yes Yes paid version[c] Yes Yes Yes Un­known No Yes Yes No Un­known user Yes Yes Un­known Un­known Un­known
Caudium Yes Yes Yes Yes Yes Yes Un­known No Yes Yes Un­known Un­known user Yes Yes[r] Un­known Un­known Un­known
Cherokee HTTP Server Yes Yes Yes Yes Yes Yes Yes Yes No Yes No Un­known user Yes Yes[9] Un­known Un­known Un­known
HFS Yes No No[10] No No No Un­known No No No Un­known Un­known user Un­known No Un­known Un­known Un­known
Hiawatha HTTP Server Yes Yes Yes[s][11] Yes Yes Yes No No No Yes No Un­known user Yes Yes No[12] No[12] No[12]
IBM HTTP Server Yes Yes Yes Yes Yes Yes Un­known No No Yes No Un­known user Yes Yes Un­known Un­known Un­known
Internet Information Services Yes Yes Yes Yes Yes Yes Yes No No[t] Yes Yes Yes kernel and user[13] Yes Yes Yes Un­known Un­known
Jetty Yes Yes Yes Yes Yes Un­known Un­known No Yes Un­known Un­known Yes user Un­known Un­known Yes Un­known Un­known
Jexus No No Yes Yes No Yes No No No No No Yes user Yes No Un­known Un­known Un­known
lighttpd Yes Yes Yes[c][14] Yes Yes Yes Yes Yes No[g] Yes No No user No Yes Yes No No
LiteSpeed Web Server Yes Yes Yes Yes Yes Yes Un­known Yes No[g] Yes No Un­known user Yes Yes Yes Yes Yes[15]
Mongoose Yes Yes Yes Yes Yes No No No No Yes No No user Yes Yes Un­known Un­known Un­known
Monkey HTTP Server Yes No Yes[s] Yes Yes Yes No No No No No No user No Yes Un­known Un­known Un­known
NaviServer Yes No Yes Yes Yes No Un­known No No Yes Un­known Un­known user Yes Yes Un­known Un­known Un­known
NCSA HTTPd Yes Yes Un­known Partial[u] Yes Un­known Un­known No No Yes No No user No No No No No
nginx Yes Yes (module) Yes Yes No Yes Yes Yes No[16] Yes No Un­known user Yes[17] Yes[18] Yes[19] No Yes[v]
OpenBSD httpd Yes No Yes Yes No Yes No No No No No No user No Yes No No No
OpenLink Virtuoso Yes Yes Yes Yes No No No No Yes Yes No No user Yes No No Un­known Un­known
Oracle HTTP Server[21] Yes Yes Yes Yes Yes Yes Un­known No No Yes No Un­known user Yes[w] Yes Un­known Un­known Un­known
Oracle iPlanet Web Server Yes Yes Yes Yes Yes Yes Un­known No Yes Yes No Yes user Yes Yes Un­known Un­known Un­known
thttpd Yes Un­known No Yes Yes No Un­known No No No No Un­known user No Yes Un­known Un­known Un­known
TUX web server No No No Yes Yes No Un­known No No No No Un­known kernel Un­known Un­known Un­known Un­known Un­known
Wakanda Server Yes Yes Yes Yes No No No No No No No Yes user Yes Yes Un­known Un­known Un­known
Xitami Yes Un­known paid version Yes Yes Un­known Un­known No Un­known Yes Un­known Un­known user Un­known Un­known Un­known Un­known Un­known
Yaws Yes Un­known Yes Yes Yes Yes Un­known No No Yes No Un­known user Un­known Yes Un­known Un­known Un­known
Zeus Web Server Yes Yes Yes Yes Yes Yes Un­known No No[g] Yes Yes Un­known user Yes No Un­known Un­known Un­known
  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. ^ a b c d support for using openSSL
  4. ^ support for using Network Security Services
  5. ^ a b via modules
  6. ^ support for using GnuTLS
  7. ^ a b c d 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. ^ Implemented as CGI script httpd_ssi
  15. ^ CGI implemented for WebSocket connections
  16. ^ Same capabilities as SSI available with templates
  17. ^ The experimental_http3 option "enables experimental draft HTTP/3 support...This option will go away in the future".[8]
  18. ^ 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
  19. ^ a b support for using PolarSSL
  20. ^ Servlet Engines are supported via isapi_redirect.
  21. ^ Due to lack of support for HTTP/1.1, name based virtual hosts are not fully implemented.
  22. ^ There is currently an nginx-quic special build for this.[20]
  23. ^ 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 Un­known No Un­known Un­known
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 Un­known Yes No Yes Un­known No No Un­known No Un­known Un­known
BusyBox httpd No[22] Yes Un­known Yes No No No No No No No
Caddy Yes Yes Yes Yes Yes No No Un­known Un­known Un­known Un­known
Caucho Resin Server Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Caudium[23] No Yes Yes Yes Yes No No Yes No Un­known Un­known
Cherokee HTTP Server No[24] Yes Yes Yes Yes No No Un­known No Un­known Un­known
HFS Yes No No No No No No No No No No
Hiawatha with Cygwin[25] Yes[25] Yes[25] Yes[25] Yes[25] 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 Un­known No Yes Un­known
Jexus No Yes No Yes Un­known 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 Un­known No Un­known Un­known
Mongoose Yes Yes Yes Yes Yes No Yes Yes Yes No Yes
Monkey HTTP Server No Yes Yes No No No No No No No No
NaviServer Yes Yes Yes Yes Yes Un­known Un­known Yes No Un­known Un­known
NCSA HTTPd Un­known Yes No Yes Yes Yes No Un­known No Un­known 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 Un­known Yes No No Yes No Un­known Un­known
Oracle iPlanet Web Server Yes Yes No No Yes No No Yes No No Yes
thttpd Yes
(Cygwin)
Yes Yes Yes Yes No No Un­known No Un­known Un­known
TUX web server No Yes No No No No No No No No No
Wakanda Server Yes Yes
(via libbsd)
Yes Yes Un­known No No No No No No
Xitami Yes Yes Yes Yes Yes Yes Yes Yes No Un­known Yes
Yaws Yes Yes Yes Yes Yes No No Yes No Un­known Un­known

See also

References

  1. ^ "Recommended fixes for IBM HTTP Server". www.ibm.com. IBM. Retrieved 11 August 2020.
  2. ^ a b "Oracle Web Tier Downloads". www.oracle.com. Oracle. Retrieved 11 August 2020.
  3. ^ "Release Notes for Oracle HTTP Server". Oracle Help Center. Retrieved 2022-10-09.
  4. ^ "Nsssl - AOLserver Wiki". Retrieved 2014-07-04.
  5. ^ "Apache Module mod_ssl". Retrieved 2014-07-04.
  6. ^ "mod_gnutls". Retrieved 2014-07-04.
  7. ^ "Apache Tomcat 6.0 - SSL Configuration HOW-TO". Retrieved 2014-07-04.
  8. ^ "Global options". caddyserver.com. Retrieved 11 August 2020.
  9. ^ Installation guide shows server status with "IPv6 enabled"
  10. ^ HFS: Secure your server
  11. ^ Leisink, Hugo. "Features - Hiawatha webserver". hiawatha-webserver.org. Retrieved 2014-07-04.
  12. ^ a b c "Scaling down the project". www.hiawatha-webserver.com. Retrieved 11 August 2020.
  13. ^ "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. Archived from the original on 2008-04-17. Retrieved 2012-02-28.
  14. ^ "Secure HTTP". redmine.lighttpd.net. Retrieved 2014-12-09.
  15. ^ ""LiteSpeed Web Server v5.4 is Here!"". Retrieved 11 November 2019.
  16. ^ "JavaServers". Wiki.nginx.org. Retrieved 2013-08-15.
  17. ^ "Nginx Admin Installation Instruction". NginxCP.com. Retrieved 2013-08-15.
  18. ^ Ghosh, Soumik (2010-09-05). "Enable IPv6 support". Nginx Library. Retrieved 2013-08-15.
  19. ^ "nginx changelog". www.nginx.com. 2015-09-22.
  20. ^ "Introducing a Technology Preview of NGINX Support for QUIC and HTTP/3". www.nginx.com. Retrieved 11 August 2020.
  21. ^ "Feature Overview - 10g R2 (10.1.2)" (PDF). Oracle.com. 2010-09-07. Retrieved 2012-02-28.
  22. ^ "BusyBox on Windows". "The Windows native build is currently broken."
  23. ^ "Webserver FAQs". Caudium. Archived from the original on 2002-11-14. Retrieved 2012-02-28.
  24. ^ John Poole. "Installation on Windows". cherokee-project.com. Retrieved 2014-11-23. "The Windows native build is currently broken."
  25. ^ a b c d e Hugo Leisink. "About - Hiawatha webserver". hiawatha-webserver.org. Retrieved 2014-06-21.