Software:Comparison of web server software
From HandWiki
This article possibly contains original research. (April 2026) (Learn how and when to remove this template message) |
This article or section possibly contains synthesis of material which does not verifiably mention or relate to the main topic. (April 2026) (Learn how and when to remove this template message) |
Short description: None
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 | Error: first parameter is missing. (discontinued) | |
| Apache HTTP Server | Apache Software Foundation | Apache | Error: first parameter is missing. | |
| Apache Tomcat | Apache Software Foundation | Apache | Error: first parameter is missing. | |
| Boa | Jon Nelson and Larry Doolittle | GNU GPL | Error: first parameter is missing. (discontinued) | |
| BusyBox httpd | Glenn Engel, Vladimir Oleynik, BusyBox Team | GNU GPL | Error: first parameter is missing. | |
| Caddy | Matt Holt | Apache | Error: first parameter is missing. | |
| Caudium | The Caudium Group | GNU GPL | Error: first parameter is missing. | |
| CERN httpd | CERN, W3C, Tim Berners-Lee, Ari Luotonen and Henrik Frystyk Nielsen | MIT Copyright Statement with acknowledgement to CERN | Error: first parameter is missing. (discontinued) | |
| Cherokee HTTP Server | Álvaro López Ortega | GNU GPL | Error: first parameter is missing. | |
| GlassFish | Sun Microsystems, Oracle Corporation, since 2019 Eclipse Foundation | Eclipse Public License & GNU General Public License | Error: first parameter is missing. | |
| Hiawatha | Hugo Leisink | GNU GPLv2 | Error: first parameter is missing. | |
| HFS | Rejetto | GNU GPL | Error: first parameter is missing. | |
| IBM HTTP Server | IBM | Non-free proprietary | 9.0.5.17 | 2023-09-19 |
| Internet Information Services | Microsoft | Non-free proprietary | Error: first parameter is missing. | |
| Jetty | Eclipse Foundation | Apache | Error: first parameter is missing. | |
| Jexus | Bing Liu | Non-free proprietary | 6.2.x | 2020 |
| lighttpd | Jan Kneschke (Incremental) | BSD variant | Error: first parameter is missing. | |
| LiteSpeed Web Server | LiteSpeed Technologies | GNU GPLv3 / proprietary license | Error: first parameter is missing. | |
| Mongoose | Cesanta Software | GNU GPLv2 / proprietary license | Error: first parameter is missing. | |
| Monkey HTTP Server | Monkey Software | Apache | Error: first parameter is missing. | |
| NaviServer | Various | Mozilla 1.1 | Error: first parameter is missing. | |
| NCSA HTTPd | Robert McCool | Non-free proprietary | Error: first parameter is missing. (discontinued) | |
| nginx | NGINX, Inc. | BSD variant | Error: first parameter is missing. | |
| OpenBSD httpd | Reyk Floeter | ISC | Error: first parameter is missing. | |
| OpenLink Virtuoso | OpenLink Software | GNU GPL and proprietary versions | Error: first parameter is missing. | |
| Oracle HTTP Server | Oracle Corporation | Non-free proprietary | 14c (14.1.2.0.0)[1] | 2025-06-??[2] |
| Oracle iPlanet Web Server | Oracle Corporation | BSD | 7.0.27 | 2017-10-01 |
| Oracle WebLogic Server | Oracle Corporation (formerly BEA Systems) |
Non-free proprietary | 15c (15.1.1.0.0) | 2025-12-01[3] |
| Resin Open Source | Caucho Technology | GNU GPLv3 / proprietary license | Error: first parameter is missing. | |
| Resin Professional | Caucho Technology | Non-free proprietary | Error: first parameter is missing. | |
| Tengine | Taobao (Alibaba Group) | BSD | Error: first parameter is missing. | |
| thttpd | Jef Poskanzer for ACME Laboratories | BSD variant | Error: first parameter is missing. | |
| TUX web server | Ingo Molnár | GNU GPL | 3.2.6.18 | 2006-09-20 (discontinued) |
| WEBrick | Ruby Community | BSD 2-clause | Error: first parameter is missing. | |
| Xitami | iMatix Corporation | BSD | Error: first parameter is missing. (discontinued) | |
| Yaws | Claes Wikström | BSD 3 clause | Error: first parameter is missing. | |
| Zeus Web Server | Zeus Technology | Non-free proprietary | 4.3r5 | 2010-01-13 (discontinued) |
| Zope | Zope Corporation | Zope | Error: first parameter is missing. | |
| Server | Developed by | Software license | Last stable version | Latest release date |
Features
Some features may be intentionally not included in a 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 an http daemon.
- NGINX and OpenBSD httpd authors decided not to include CGI interpretation, instead using FastCGI. For OpenBSD, a slowcgi gateway was developed.
- BusyBox httpd doesn't have automatically generated directory listing but it may be implemented as a CGI script.
| Server | Security | Virtual hosting |
Dynamic content[lower-alpha 1] | 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[lower-alpha 2][lower-alpha 3][lower-alpha 4][4] | Yes | Yes | No | Unknown | No | No | Yes | Unknown | Unknown | user | Unknown | Unknown | Unknown | Unknown | Unknown |
| Apache HTTP Server | Yes | Yes | Yes[lower-alpha 5][lower-alpha 3][5][lower-alpha 6][6] | 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 | No | No |
| Apache Tomcat | Yes | Yes | Yes[lower-alpha 10][7] | Yes | Yes | No | Unknown | No | Yes | Yes | No[lower-alpha 11] | Unknown | user | Yes | Yes[lower-alpha 12] | Yes | Unknown | Unknown |
| Boa | No | No | Yes[lower-alpha 13] | Yes | Yes | No | Unknown | No | No | No | No | No | user | Unknown | Yes | No | No | No |
| BusyBox httpd | Yes | No | No | No | Yes | No | No | No | No | No[lower-alpha 14] | No | No | user | No | Yes | No | No | No |
| Caddy | Yes | No | Yes | Yes | Partial[lower-alpha 15] | Yes | No | No | No | No[lower-alpha 16] | No | No | user | No | Yes | Yes | Yes | Yes[lower-alpha 17] |
| Caucho Resin Server | Yes | Yes | paid version[lower-alpha 3] | Yes | Yes | Yes | Unknown | No | Yes | Yes | No | Unknown | user | Yes | Yes | Unknown | Unknown | Unknown |
| Caudium | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | No | Yes | Yes | Unknown | Unknown | user | Yes | Yes[lower-alpha 18] | Unknown | Unknown | Unknown |
| Cherokee HTTP Server | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Unknown | user | Yes | Yes[9] | Unknown | Unknown | Unknown |
| HFS | Yes | No | No[10] | No | No | No | Unknown | No | No | No | Unknown | Unknown | user | Unknown | No | Unknown | Unknown | Unknown |
| Hiawatha HTTP Server | Yes | Yes | Yes[lower-alpha 19][11] | Yes | Yes | Yes | No | No | No | Yes | No | Unknown | user | Yes | Yes | No[12] | No[12] | No[12] |
| IBM HTTP Server | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | No | No | Yes | No | Unknown | user | Yes | Yes | Unknown | Unknown | Unknown |
| Internet Information Services | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No[lower-alpha 20] | Yes | Yes | Yes | kernel and user[13] | Yes | Yes | Yes | Unknown | Unknown |
| Jetty | Yes | Yes | Yes | Yes | Yes | Unknown | Unknown | No | Yes | Unknown | Unknown | Yes | user | Unknown | Unknown | Yes | Unknown | Unknown |
| Jexus | No | No | Yes | Yes | No | Yes | No | No | No | No | No | Yes | user | Yes | No | Unknown | Unknown | Unknown |
| lighttpd | Yes | Yes | Yes[lower-alpha 3][14] | Yes | Yes | Yes | Yes | Yes | No[lower-alpha 7] | Yes | No | No | user | No | Yes | Yes | No | No |
| LiteSpeed Web Server | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No[lower-alpha 7] | Yes | No | Unknown | user | Yes | Yes | Yes | Yes | Yes[15] |
| Mongoose | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | No | No | user | Yes | Yes | Unknown | Unknown | Unknown |
| Monkey HTTP Server | Yes | No | Yes[lower-alpha 19] | Yes | Yes | Yes | No | No | No | No | No | No | user | No | Yes | Unknown | Unknown | Unknown |
| NaviServer | Yes | No | Yes | Yes | Yes | No | Unknown | No | No | Yes | Unknown | Unknown | user | Yes | Yes | Unknown | Unknown | Unknown |
| NCSA HTTPd | Yes | Yes | Unknown | Partial[lower-alpha 21] | Yes | Unknown | Unknown | 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 | Unknown | user | No | Yes[17] | Yes[18] | Yes | Yes |
| 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 | Unknown | Unknown |
| Oracle HTTP Server[19] | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | No | No | Yes | No | Unknown | user | Yes[lower-alpha 22] | Yes | Unknown | Unknown | Unknown |
| Oracle iPlanet Web Server | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | No | Yes | Yes | No | Yes | user | Yes | Yes | Unknown | Unknown | Unknown |
| thttpd | Yes | Unknown | No | Yes | Yes | No | Unknown | No | No | No | No | Unknown | user | No | Yes | Unknown | Unknown | Unknown |
| TUX web server | No | No | No | Yes | Yes | No | Unknown | No | No | No | No | Unknown | kernel | Unknown | Unknown | Unknown | Unknown | Unknown |
| Xitami | Yes | Unknown | paid version | Yes | Yes | Unknown | Unknown | No | Unknown | Yes | Unknown | Unknown | user | Unknown | Unknown | Unknown | Unknown | Unknown |
| Yaws | Yes | Unknown | Yes | Yes | Yes | Yes | Unknown | No | No | Yes | No | Unknown | user | Unknown | Yes | Unknown | Unknown | Unknown |
| Zeus Web Server | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | No | No[lower-alpha 7] | Yes | Yes | Unknown | user | Yes | No | Unknown | Unknown | Unknown |
- ↑ 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).
- ↑ support for using RSA BSAFE
- ↑ 3.0 3.1 3.2 3.3 support for using openSSL
- ↑ support for using Network Security Services
- ↑ 5.0 5.1 via modules
- ↑ support for using GnuTLS
- ↑ 7.0 7.1 7.2 7.3 This server implements AJP; compatible third-party Servlet containers can be integrated to provide seamless Servlet support.
- ↑ This server can use the mod_isapi module for this support.
- ↑ via Geronimo
- ↑ support for using Java Secure Socket Extension
- ↑ While Tomcat does not implement ISAPI directly, it integrates well with Apache mod_jk which contains an ISAPI module for this purpose.
- ↑ Requires a JVM and OS that support IPv6.
- ↑ with external patch
- ↑ Implemented as CGI script httpd_ssi
- ↑ CGI implemented for WebSocket connections
- ↑ Same capabilities as SSI available with templates
- ↑ The experimental_http3 option "enables experimental draft HTTP/3 support...This option will go away in the future".[8]
- ↑ 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.0 19.1 support for using PolarSSL
- ↑ Servlet Engines are supported via isapi_redirect.
- ↑ Due to lack of support for HTTP/1.1, name based virtual hosts are not fully implemented.
- ↑ 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 | Yes | Yes | Unknown | No | No | Unknown | No | Unknown | Unknown |
| BusyBox httpd | No[20] | Yes | Unknown | Yes | No | No | No | No | No | No | No |
| 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[21] | No | Yes | Yes | Yes | Yes | No | No | Yes | No | Unknown | Unknown |
| Cherokee HTTP Server | No[22] | 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[23] | Yes[23] | Yes[23] | Yes[23] | Yes[23] | 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 | 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 | 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 | Yes | 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 |
| 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
- Comparison of application servers
- Embedded HTTP server
- Gunicorn (HTTP server)
- Helicon Ape
References
- ↑ "Oracle Web Tier Downloads". Oracle. https://www.oracle.com/middleware/technologies/webtier-downloads.html.
- ↑ "Oracle HTTP Server 14.1.2.0.0 - Get Started" (in en-us). https://docs.oracle.com/en/middleware/fusion-middleware/web-tier/14.1.2/index.html.
- ↑ "Announcing Oracle WebLogic Server and Coherence Version 15.1.1.0" (in en-us). https://blogs.oracle.com/fusionmiddlewaresupport/announcing-oracle-weblogic-server-and-coherence-version-15-1-1-0.
- ↑ "Nsssl - AOLserver Wiki". https://panoptic.com/wiki/aolserver/Nsssl.
- ↑ "Apache Module mod_ssl". https://httpd.apache.org/docs/2.4/mod/mod_ssl.html.
- ↑ "mod_gnutls". https://mod.gnutls.org/.
- ↑ "Apache Tomcat 6.0 - SSL Configuration HOW-TO". https://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html.
- ↑ "Global options". https://caddyserver.com/docs/caddyfile/options/.
- ↑ "Cherokee Web Server | Man pages cherokee-admin | Cherokee Documentation". https://cherokee-project.com/doc/other_bundle_cherokee-admin.html.
- ↑ "HFS: Secure your server - rejetto wiki". https://www.rejetto.com/wiki/index.php?title=HFS:_Secure_your_server.
- ↑ Leisink, Hugo. "Features - Hiawatha webserver". https://www.hiawatha-webserver.org/features.
- ↑ 12.0 12.1 12.2 "Scaling down the project". https://www.hiawatha-webserver.org/weblog/132.
- ↑ "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. http://technet2.microsoft.com/windowsserver/en/library/975bb1da-4bcf-4064-b0c7-723e45106bf51033.mspx?mfr=true.
- ↑ "Secure HTTP". https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_SSL.
- ↑ ""LiteSpeed Web Server v5.4 is Here!"". 24 July 2019. https://blog.litespeedtech.com/2019/07/24/litespeed-web-server-v5-4-is-here/.
- ↑ "JavaServers". Wiki.nginx.org. https://wiki.nginx.org/JavaServers.
- ↑ Ghosh, Soumik (2010-09-05). "Enable IPv6 support". Nginx Library. https://nginxlibrary.com/enable-ipv6-support/.
- ↑ "nginx changelog". 2015-09-22. https://nginx.org/en/CHANGES.
- ↑ "Feature Overview - 10g R2 (10.1.2)". Oracle.com. 2010-09-07. https://www.oracle.com/technology/products/ias/ohs/htdocs/ohs-10.1.2.0.2-fov_0.pdf.
- ↑ "BusyBox on Windows". https://frippery.org/busybox/. "The Windows native build is currently broken."
- ↑ "Webserver FAQs". Caudium. http://caudium.net/server/faqs.rxml.
- ↑ John Poole. "Installation on Windows". https://cherokee-project.com/doc/basics_installation_windows.html. "The Windows native build is currently broken."
- ↑ 23.0 23.1 23.2 23.3 23.4 Hugo Leisink. "About - Hiawatha webserver". https://www.hiawatha-webserver.org/about.
External links
