Hiawatha (serveur HTTP)

Un article de Wikipédia, l'encyclopédie libre.
Hiawatha Webserver

Informations
Développé par Hugo Leisink
Première version
Dernière version 10.10 ()
Dépôt gitlab.com/hsleisink/hiawathaVoir et modifier les données sur Wikidata
État du projet développement actif
Écrit en C
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
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[1].

Hiawatha est le nom d'un héros de certains Amérindiens d'Amérique du Nord.

Historique[modifier | modifier le code]

Le développement de Hiawatha démarre en  ; 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 de Linux Magazine contient un article présentant Hiawatha[2].

Le , Hugo Leisink annonce sur le blog du projet l'arrêt du développement de nouvelles fonctionnalités, par manque d'intérêt et pour se consacrer à d'autres projets ; les versions à venir du serveur ne seront plus basées que sur la satisfaction de ses besoins personnels et non sur ce que l'on serait en droit d’attendre d'un serveur web moderne tel HTTP/2[3].

La version 10.10 sort le .

Sorties majeures[modifier | modifier le code]

  • 1.0 : . Première version d'un serveur web encore basique mais déjà fonctionnel.
  • 2.0 : . Utilisation du multithreading au lieu de forking.
  • 3.0 : . Prise en charge de SSL.
  • 4.0 : . Un wrapper CGI[4] visant une sécurité améliorée est inclus.
  • 5.0 : . Prise en charge de FastCGI.
  • 5.2 : . 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 [6].
  • 5.12 : . Apport de la réécriture d'URL.
  • 6.0 : . Gestion d'IPv6.
  • 6.6 : . Gestion de XSLT.
  • 6.10 : . Ajout d'un mécanisme pour lutter contre la cross-site request forgery.
  • 7.0 : . Prise en charge du monitoring distant.
  • 8.0 : . Autoconf est remplacé par CMake, OpenSSL par PolarSSL.
  • 9.0 : . 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: , 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 :

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]

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Hiawatha (web server) » (voir la liste des auteurs).

Annexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]