Hiawatha (serveur HTTP)

Développé par | Hugo Leisink |
---|---|
Première version | 2002 |
Dernière version | 10.8 ()[1] |
Dépôt | gitlab.com/hsleisink/hiawatha |
État du projet | développement actif |
Écrit en | C |
Système d'exploitation | FreeBSD |
Environnement | Multiplate-forme |
Langues | anglais |
Type | Serveur HTTP |
Politique de distribution | gratuit |
Licence | Licence publique générale GNU v2 |
Site web | hiawatha-webserver.org |
Hiawatha est un serveur web disponible pour divers systèmes d'exploitation. Il est développé par le Néerlandais Hugo Leisink depuis 2002[2].
Hiawatha est le nom d'un héros de certains Amérindiens d'Amérique du Nord.
Sommaire
Historique[modifier | modifier le code]
Le développement de Hiawatha démarre en janvier 2002 ; il est conçu à l'origine comme petit serveur web, adapté à des serveurs anciens ou déclassés. Hugo Leisink, qui est à ce moment-là étudiant en informatique, le destine à être installé dans les résidences étudiantes de Delft (Hollande-Méridionale) aux Pays-Bas. En raison de l'inclination de Leisink pour les questions de sécurité informatique, toute sorte de fonctions relatives à ce domaine particulier sont intégrées de façon expérimentale à Hiawatha ; il en résulte un serveur HTTP très orienté sécurité.
L'édition de janvier 2009 de Linux Magazine contient un article présentant Hiawatha[3].
Sorties majeures[modifier | modifier le code]
- 1.0 : septembre 2002. Première version d'un serveur web encore basique mais déjà fonctionnel.
- 2.0 : mars 2004. Utilisation du multithreading au lieu de forking.
- 3.0 : septembre 2004. Prise en charge de SSL.
- 4.0 : décembre 2005. Un wrapper CGI[4] visant une sécurité améliorée est inclus.
- 5.0 : octobre 2006. Prise en charge de FastCGI.
- 5.2 : novembre 2006. Introduction de Hiawatha dans l'arbre des ports de FreeBSD alors en version 5.2[5] ; OpenBSD l'intègre également à sa sortie en version 5.7 en mars 2007[6].
- 5.12 : août 2007. Apport de la réécriture d'URL.
- 6.0 : octobre 2007. Gestion d'IPv6.
- 6.6 : avril 2008. Gestion de XSLT.
- 6.10 : octobre 2008. Ajout d'un mécanisme pour lutter contre la cross-site request forgery.
- 7.0 : février 2010. Prise en charge du monitoring distant.
- 8.0 : janvier 2012. Autoconf est remplacé par CMake, OpenSSL par PolarSSL.
- 9.0 : mars 2013. Les connexions clientes sont désormais prises en charge par un pool de threads au lieu de créer les threads à la volée.
- 10.0: Novembre 2015, des changements significatifs dans la syntaxe de configuration
Fonctions[modifier | modifier le code]
Hiawatha met en œuvre ce qui est généralement attendu d'un serveur web moderne et notamment :
- CGI et FastCGI
- Gestion de grands fichiers
- Fonction de proxy inverse
- Gestion du chroot
- Réécriture d'URL
- Prise en charge de SSL et de TLS
- Authentification HTTP (Basic et digest)
- Traffic shaping (régulation de flux)
- Gestion d'IPv6
- Compression HTTP via gzip
- Hébergement virtuel
- Gestion de WebDAV
- Prise en charge de Server Name Indication à partir de la v8.6
Hiawatha présente de nombreuses fonctions axées sur la sécurité que peu de ses concurrents mettent en œuvre ; ainsi Hiawatha embarque des protections contre les injections SQL, contre les failles cross-site scripting (XSS) et cross-site request forgery (CSRF), contre les attaques par déni de service (DoS), contre les liens externes vers des images, ainsi qu'une interdiction paramétrable contre d'éventuels programmeurs malintentionnés ; enfin Hiawatha peut limiter l'exécution de script CGI pour en limiter l'emballement qui provoque généralement une perte de contrôle du serveur[7].
Performance[modifier | modifier le code]
Même si Hugo Leisink se concentre avant tout sur les aspects relatifs à la sécurité, Hiawatha se comporte bien en termes de vitesse et de performance. Selon des tests de performance réalisés par un chercheur indépendant (SaltwaterC), Hiawatha rivalise avec ses concurrents pour sa vitesse à délivrer du contenu statique[8],[9]. Hiawatha gère FastCGI en combinaison avec l'équilibrage de charge et dispose de son propre utilitaire PHP-FastCGI[10], ce qui le rend rapide et apte à la montée en charge pour servir du contenu dynamique.
Utilisation[modifier | modifier le code]
Les statistiques sur l'usage de Hiawatha sont fréquemment sous-estimées. En raison de l'accent qu'il met sur la sécurité, le serveur HTTP Hiawatha peut rejeter des requêtes de robots n'étant pas identifiés comme les robots d'indexation des moteurs de recherche, parmi lesquels peuvent se trouver les robots d'entités collectant simplement des statistiques[11].
Notes et références[modifier | modifier le code]
- « Hiawatha webserver » (consulté le 24 mars 2018)
- About page of Hiawatha webserver
- (en) « Fast and safe with the Hiawatha secure web server »
- Manual page cgi-wrapper - Hiawatha webserver
- FreeBSD Ports of Hiawatha
- OpenBSD Ports of Hiawatha
- List of features
- PHP_web_serving_study « Copie archivée » (version du 23 juillet 2018 sur l'Internet Archive)
- Benchmark of webservers « Copie archivée » (version du 23 juillet 2018 sur l'Internet Archive)
- Manual page php-fcgi - Hiawatha webserver
- Security measures suggested for defining websites
Annexes[modifier | modifier le code]
Liens externes[modifier | modifier le code]
- (en) Site officiel