Hiawatha (serveur HTTP)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Hiawatha.
Hiawatha Webserver
Développeur Hugo Leisink
Première version 2002
Dernière version 9.7 (21 août 2014) [+/-]
État du projet développement actif
Écrit en C
Environnement Multiplate-forme
Langue 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 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[2].

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[3] 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[4] ; OpenBSD l'intègre également à sa sortie en version 5.7 en mars 2007[5].
  • 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.

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[6].

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[7],[8]. Hiawatha gère FastCGI en combinaison avec l'équilibrage de charge et dispose de son propre utilitaire PHP-FastCGI[9], 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[10].

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)

  1. About page of Hiawatha webserver
  2. (en) « Fast and safe with the Hiawatha secure web server »
  3. Manual page cgi-wrapper - Hiawatha webserver
  4. FreeBSD Ports of Hiawatha
  5. OpenBSD Ports of Hiawatha
  6. List of features
  7. PHP_web_serving_study
  8. Benchmark of webservers
  9. Manual page php-fcgi - Hiawatha webserver
  10. Security measures suggested for defining websites

Annexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]