Hiawatha was a free and open source cross-platform web server developed by Hugo Leisink.[4]

Hiawatha Webserver
Original author(s)Hugo Leisink
Developer(s)Hugo Leisink
Initial release2002; 22 years ago (2002)
Stable release
11.5[1] Edit this on Wikidata / 23 October 2023
Repository
Written inC[2]
Operating systemFreeBSD, Haiku os, HP-UX, IBM AIX, Linux, OpenBSD, OS X, QNX, Solaris, Unix-like and Windows[3]
PlatformPOSIX, Cross-platform
Available inEnglish
TypeWeb server
LicenseGPL-2.0-only
Websitehiawatha.leisink.net.

History

edit

Hiawatha development began in January 2002 as a web server. Leisink, a computer science student at the time, initially created it to support internet servers based in student houses in South Holland and the Netherlands, with security as its focus.

The January 2009 edition of Linux Magazine included an article on the Hiawatha web server, describing it as "a light web server with good performance and some innovative security functions."[5] In 2015 Hiawatha was cited as a lightweight alternative to Apache, as it prioritized the installation experience and reduced storage over adding other features.[6][7][8]

In February of 2019, Leisink announced the end of major development.[9] Releases since then have focused on fixing bugs, and keeping components up to date.[10]

Major version history

edit
  • 1.0: September 2002. A basic but functional web server.
  • 2.0: March 2004. Use of multithreading instead of forking.
  • 3.0: September 2004. SSL support.
  • 4.0: December 2005. A CGI-wrapper[11] for improved security was included.
  • 5.0: October 2006. FastCGI support for improved CGI speed.
  • 5.2: November 2006. First-time integration to the FreeBSD Ports system at version 5.2 in December 2006,[12] to the OpenBSD ports tree at version 5.7 in March 2007.[13]
  • 5.12: August 2007. URL rewriting support.
  • 6.0: October 2007. IPv6 support.
  • 6.6: April 2008. XSLT support.
  • 6.10: October 2008. Prevent cross-site request forgery added.
  • 7.0: February 2010. Remote monitoring support.
  • 8.0: January 2012. Autoconf replaced with CMake, OpenSSL replaced with PolarSSL.
  • 9.0: March 2013. Clients handled via thread pool instead of creating threads on the fly.
  • 10.0: November 2015. Streamlined handling of Directory sections in server configuration.
  • 10.9: February 2019. Last major developed release.
  • 11.0: July 2021, mbed TLS library updated to v3.0.0.

As of December 2023, Leisink has continued to publish bug fixes and small improvement releases.[10]

Features

edit

The Hiawatha web server featured:

Hiawatha aimed to prevent SQL-injection, cross-site scripting (XSS), Cross-site request forgery (CSRF), and denial-of-service attacks. It allowed banning of potential hackers and had an option to limit the runtime of CGI applications.[14] RFC3546 support was included with version 8.6, which was developed with PolarSSLv1.2.

Performance

edit

In 2012, a performance test was carried out by an independent researcher (SaltwaterC). They found that Hiawatha was faster than ten other servers with Drupal static content, but performed comparably to the rest in other metrics.[15]

Hiawatha has supported load-balanced FastCGI and the PHP project's FastCGI Process Manager (PHP-FPM).[16]

See also

edit

References

edit
  1. ^ "v11.5 · Tags · Hugo Leisink / Hiawatha web server · GitLab".
  2. ^ "Hiawatha - Ohloh". Ohloh.net. Archived from the original on 21 December 2013. Retrieved 12 April 2013.
  3. ^ Hiawatha on Haiku OS
  4. ^ Leisink, Hugo. "Hiawatha About Page". Retrieved 22 January 2015.
  5. ^ Schürmann, Tim. "Safe Passage » Linux Magazine". Linux Magazine. Retrieved 2021-01-19.
  6. ^ Wadge, Chris. "Why I Use the Hiawatha Webserver". Dotbalm.org. Archived from the original on 23 January 2015. Retrieved 23 January 2015.
  7. ^ Vaughan-Nichols, Steven J. "Picking the Right Web Server for the Right Job". SmartBear. Retrieved 23 January 2015.
  8. ^ Lavigne, Dru. "Hiawatha Web Server". Toolbox.com. Archived from the original on 18 July 2014. Retrieved 23 January 2015.
  9. ^ Leisink, Hugo. "Hiawatha webserver". www.hiawatha-webserver.org. Retrieved 2023-08-04.
  10. ^ a b Leisink, Hugo (2023-10-13). "Hiawatha Changelog". Hiawatha Webserver. Retrieved 2024-01-16.
  11. ^ Manual page cgi-wrapper - Hiawatha webserverArchived 2012-10-19 at the Wayback Machine
  12. ^ "FreshPorts -- www/hiawatha: Advanced and secure webserver for Unix". www.freshports.org. Retrieved 2021-01-19.
  13. ^ "OpenPorts.se | The OpenBSD package collection". openports.se. Archived from the original on 2021-02-25. Retrieved 2021-01-19.
  14. ^ Leisink, Hugo (13 December 2023). "Features". Hiawatha webserver. Retrieved 13 December 2023.
  15. ^ PHP_web_serving_studyArchived 2012-04-26 at the Wayback Machine
  16. ^ Leisink, Hugo. "Hiawatha webserver". www.hiawatha-webserver.org. Retrieved 2021-01-18.
edit