| Fiche technique | |
|---|---|
| Catégorie : | Serveur Web |
| Auteur : | Microsoft |
| Licence : | MIT License |
| Date de publication : | 2016 à maintenant |
Sommaire
Kestrel est un serveur Web multiplateforme intégré à l'écosystème .NET, conçu pour exécuter des applications ASP.NET Core. Contrairement à IIS, fonctionnant principalement sur Windows, Kestrel fonctionne sur Windows, Linux et macOS, ce qui en fait un serveur moderne et flexible adapté aux environnements infonuagique et aux conteneurs. Dans un contexte de serveur, Kestrel joue le rôle de serveur HTTP de bas niveau, assurant la réception des requêtes, la gestion des connexions TCP et le traitement désynchronisée des flux de données. Il est conçu pour être rapide, léger et efficace, notamment grâce à l'utilisation de la bibliothèque libuv (auparavant) et plus récemment de Sockets pour de meilleures performances.
Kestrel peut être utilisé seul, en frontal, pour héberger une application web directement, ou être placé derrière un serveur proxy inverse comme Nginx ou Apache, afin de gérer les tâches comme le chiffrement SSL/TLS, la répartition de charge ou le filtrage. Dans des contextes de microservices ou de déploiements conteneurisés (Docker, Kubernetes), Kestrel est souvent utilisé comme point d'entrée HTTP des applications ASP.NET Core. Grâce à son intégration native dans le modèle .NET Core, il est hautement configurable par code, permettant une maîtrise fine des ports, des certificats, des limites de requêtes et des options réseau. Cela en fait un outil idéal pour des solutions modernes, mise à l'échelle et performantes.
Dans un contexte serveur, Kestrel marque un tournant pour Microsoft, en s'éloignant du modèle traditionnel Windows/IIS pour proposer une alternative open source, légère et multiplateforme. Son adoption est devenue la norme dans les projets ASP.NET Core à partir de .NET Core 1.0, jusqu'aux versions actuelles de .NET 8+. Il est souvent utilisé avec le modèle d'auto-hébergement, ce qui permet à une application web de fonctionner de manière autonome sans infrastructure web externe. Cette capacité d'auto-hébergement est essentielle dans les environnements DevOps modernes, notamment pour les API REST, les services web ou les frontends web légers. Kestrel incarne donc la stratégie infonuagique-native et multiplateforme de Microsoft pour le développement Web.