Serveur d'impression

Top 5 des serveurs web open source – Serveur d’impression

Le 10 novembre 2019 - 7 minutes de lecture

Les statistiques montrent que plus de 80% des applications et des sites Web utilisent des serveurs Web à code source ouvert. Dans cet article, je regarde les serveurs Web open source les plus populaires et passe brièvement en revue leur historique, leur technologie, leurs fonctionnalités, etc. Je vous donnerai également quelques conseils pour que vous puissiez facilement déployer vous-même l'un des serveurs Web les plus populaires.

Selon Wikipedia, un serveur Web est "un système informatique qui traite les requêtes via HTTP, le protocole réseau de base utilisé pour distribuer des informations sur le World Wide Web. Ce terme peut désigner l'ensemble du système, ou plus particulièrement le logiciel qui accepte et supervise les requêtes HTTP. " Dans cet article, nous traitons du logiciel qui traite spécifiquement les demandes Web des utilisateurs finaux.

Serveur HTTP Apache

Le serveur HTTP Apache – souvent appelé httpd, ou simplement Apache – a été lancé pour la première fois en 1995 et a fêté ses 20 ans en février 2015. Apache est le moteur de 52% de tous les sites Web dans le monde et est de loin le serveur Web le plus populaire.

Bien qu'Apache httpd fonctionne le plus souvent sous Linux, vous pouvez également déployer Apache sous OS X et Windows. Sans surprise, Apache est sous licence Apache, version 2. Le serveur Web lui-même utilise une architecture modulaire, dans laquelle des modules supplémentaires peuvent être chargés pour étendre ses fonctionnalités. Par exemple, le chargement du mod_proxy autorisera un proxy / une passerelle sur votre serveur et mod_proxy_balancer activera l’équilibrage de la charge pour tous les protocoles pris en charge. Depuis la version 2.4, Apache prend également en charge HTTP / 2 via un nouveau module, mod_http2.

Apache étant le serveur Web le plus populaire depuis 1996, le serveur Apache HTTP "bénéficie d'une excellente documentation et d'une prise en charge intégrée provenant d'autres projets logiciels". Vous pouvez trouver plus d'informations sur la page du projet Apache Foundation.

NGINX

Igor Sysoev a commencé à développer NGINX en 2002, avec sa première publication publique en 2004. NGINX a été développé pour répondre au soi-disant problème C10K, qui est un raccourci pour "comment concevoir un serveur Web capable de gérer dix mille connexions simultanées ? " NGINX est le deuxième sur une liste de serveurs Web open source en termes d'utilisation, avec un peu plus de 30% de tous les sites Web.

NGINX s'appuie sur une architecture asynchrone pilotée par les événements pour atteindre son objectif de gestion de sessions simultanées massives. Il est devenu un serveur Web très populaire parmi les administrateurs en raison de sa faible utilisation des ressources et de sa capacité à évoluer facilement.

NGINX est publié sous une licence semblable à BSD et peut non seulement être déployé en tant que serveur Web, mais également en tant que serveur proxy ou équilibreur de charge. Vous pouvez trouver plus d'informations sur le site de la communauté NGINX.

Apache Tomcat

Apache Tomcat est un open source Servlet Java conteneur qui fonctionne comme un serveur Web. Un servlet Java est un programme Java qui étend les capacités d'un serveur. Bien que les servlets puissent répondre à tous les types de demandes, ils implémentent généralement des applications hébergées sur des serveurs Web. Ces servlets Web constituent le pendant Java d'autres technologies de contenu Web dynamiques telles que PHP et ASP.NET. La base de code de Tomcat a été donnée par Sun Microsystems à Apache Software Foundation en 1999 et est devenue un projet Apache de niveau supérieur en 2005. Elle alimente actuellement un peu moins de 1% des sites Web.

Apache Tomcat, publié sous la licence Apache version 2, est généralement utilisé pour exécuter des applications Java. Il peut cependant être étendu avec Coyote pour jouer également le rôle de serveur Web normal servant des fichiers locaux sous forme de documents HTTP. Plus d'informations peuvent être trouvées sur le site web du projet.

Apache Tomcat est souvent répertorié parmi les autres serveurs d'applications Java open source. Quelques exemples sont JBoss, Wildfly et Glassfish.

Node.js

Node.js est un environnement JavaScript côté serveur destiné aux applications réseau telles que les serveurs Web. Node.js, avec une position sur le marché moins étendue, représente 0,2% du total des sites Web. Node.js a été écrit en 2009 par Ryan Dahl. Le projet Node.js, géré par la fondation Node.js, est facilité par le programme Collaborative Projects de la Linux Foundation.

La différence entre Node.js et les autres serveurs Web populaires est qu’il s’agit avant tout d’un environnement d’exécution multiplate-forme pour la création d’applications réseau. Node.js applique une architecture pilotée par les événements capable d’entrées / sorties asynchrones. Ces choix de conception optimisent le débit et l’évolutivité dans les applications Web, ce qui permet d’exécuter des communications en temps réel et des jeux sur navigateur. Node.js souligne également la différence entre les piles de développement Web, où Node.js fait clairement partie des piles HTML, CSS et JavaScript, par opposition à Apache ou NGINX, qui font partie de nombreuses piles de logiciels.

Node.js est publié sous plusieurs licences. De plus amples informations sont disponibles sur le site web du projet.

Lighttpd

Lighttpd – prononcé "à la légère" – a vu sa publication initiale en mars 2003. Il alimente actuellement environ 0,1% de tous les sites Web et est distribué sous une licence BSD.

Lighttpd se distingue par son faible encombrement en mémoire, sa faible charge en processeur et ses optimisations de vitesse. Il utilise une architecture pilotée par les événements, est optimisé pour un grand nombre de connexions parallèles et prend en charge FastCGI, SCGI, Auth, Compression de sortie, Réécriture d'URL et bien d'autres fonctionnalités. Lighttpd est un serveur Web populaire pour les infrastructures Web Catalyst et Ruby on Rails. Trouvez plus d'informations sur la page d'accueil du projet.

Conseils

Si vous souhaitez essayer l'un des serveurs Web les plus populaires, je vous recommande fortement de télécharger une pile LAMP (Linux, Apache, MySQL, PHP) ou LEMP (Linux, NGINX, MySQL, PHP). Il existe de nombreuses piles de ce type, proposant différentes versions, par exemple dans les versions Apache et PHP. Ils sont généralement fournis en tant qu'installateurs en un clic, ou disponibles dans votre gestionnaire de packages / logiciels sous Linux.

Une fois le processus d’installation terminé, vous pouvez démarrer votre serveur Web et essayer un exemple de Hello World. C'est un excellent moyen de commencer à découvrir les tenants et les aboutissants de votre serveur Web et à comprendre comment les serveurs Web fonctionnent de manière plus générale.

Sommaire

Il ne s’agit nullement d’une liste exhaustive de serveurs Web. J'ai inclus certains des serveurs Web les plus populaires et examiné les technologies prises en charge. Si vous souhaitez en savoir plus, en particulier sur les différences entre Apache et NGINX, je vous recommande de lire cet article sur les considérations pratiques relatives au choix d'un serveur Web.

Et bien sûr, nous sommes toujours curieux de savoir quel est votre choix de serveur Web, pour vos besoins en développement Web ou en hébergement. Faites le nous savoir dans les commentaires.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.