Peut-on dire nœud.js est un serveur web?
j'ai trouvé que je confonds cadre web et serveur web.
Apache is a web server.
Tornado is a web server written in Python.
Nginx is a web server written in C
Zend is a web framework in php
Flask/Bottle is a web framework in Python
RoR is a web framework written in Ruby
Express is a web framework written in JS under Node.JS
peut-on dire noeud.js est un serveur web??? Je suis tellement confus entre le serveur web et le cadre.
si d'une façon ou d'une autre le noeud.js est en quelque sorte webserver, pas webfram Framework (Express le fait), pourquoi devons-nous mettre tout le noeud.js sur le serveur Nginx dans la pratique utile?? Question DONC
qui peut aider???
Kit
7 réponses
serveur Web
serveur Web peut se référer soit au matériel (l'ordinateur) ou le logiciel (l'application informatique) qui aide à fournir le contenu qui peut être consulté via Internet. 1
La fonction principale d'un serveur web est de fournir des pages web sur le demande de clients. Cela signifie la livraison de documents HTML et contenu supplémentaire qui peut être inclus dans un document, comme des images, feuilles de style et scripts.
un serveur web est à la base de la livraison des requêtes / pagess aux clients / utilisateurs sur l'internet
framework Web
un cadre d'application web est un cadre logiciel qui est conçu pour soutenir le développement de sites Web dynamiques, applications web et des services web. Le cadre vise à alléger les frais généraux associés avec des activités communes réalisées dans le développement Web. Par exemple, beaucoup de les cadres fournissent des bibliothèques pour l'accès aux bases de données, cadres et la gestion de session, et ils favorisent souvent la réutilisation de code.
un framework web utilise un serveur web pour transmettre les requêtes au client, mais ce n'est pas le serveur web.
noeud.js
Node.js est une plate-forme construite sur L'exécution JavaScript de Chrome pour création d'applications réseau rapides et évolutives. Nœud.js utilise un event-driven, non-blocage I/O modèle qui le rend léger et efficace, parfait pour les applications en temps réel à forte intensité de données à travers périphériques distribués.
mais encore une fois, vous pouvez également créer des applications CLI donc je pense que vous devriez le voir plus comme une plate-forme pour écrire des programmes javascript à exécuter sur votre serveur(ordinateur) en utilisant Javascript langage de programmation au lieu de simplement dans le navigateur comme au début. Je pense que vous pourriez le voir comme Javascript++
??
vous pouvez aussi écrire serveur web avec noeud.js comme vous pouvez le voir sur la première page de nœud.js. Au début Ryan a dit que vous pourriez mettre Nginx devant le noeud.js en raison de la stabilité du projet. Le projet était et est encore très jeune. Nginx est un réseau éprouvé serveur qui continuera à fonctionner pendant le noeud.js peuvent se bloquer. Encore une fois beaucoup d'utilisateurs utilisent juste le noeud.js pour que.
je dirais noeud.js est un environnement D'exécution ou un moteur D'exécution.
probablement la meilleure définition que j'ai trouvée jusqu'à présent vient d'un article de Rob Gravelle intitulé "une Intro à Noeud.js " :
Node.js est à la fois environnement d'exécution et bibliothèque de pièces pour la construction d'applications réseau en utilisant JavaScript côté serveur. Il utilise le JavaScript de Chrome moteur d'exécution pour exécuter le code JS directement sans avoir besoin du bac à sable du navigateur.
aussi le PCMAG.COM Encyclopedia fournit le suivant la définition de de "moteur en marche":
logiciel dont certaines applications dépendent pour fonctionner dans l'ordinateur. Le moteur d'exécution doit tourner dans l'ordinateur pour que l'application puisse exécuter. Il fournit des routines et fonctions que la les applications nécessitent, et il convertit généralement le programme, qui est dans un intermédiaire, langue intermédiaire, en langage machine.
aussi le article Wikipedia intitulé" Run-time system" déclare:
un système run-time (aussi appelé runtime system, runtime environment, ou juste runtime) implémente le comportement de base d'un langage informatique, que le langage soit un langage compilé ou non., le langage interprété, le langage spécifique au domaine intégré, ou est invoqué via une API comme c'est le cas pour pthreads.
... Un système d'exécution peut implémenter le comportement des tâches telles que le dessin, le texte sur l'écran ou une connexion Internet. Il agit aussi typiquement comme une couche d'abstraction qui cache la complexité ou les variations des services offerts par le système d'exploitation.
Eh bien, y a-t-il des environnements d'exécution (ou même des logiciels plates-formes) comme noeud.js? Je suppose que JRE est un bon exemple d'un tel environnement. Nœud.js et JRE-ils ont beaucoup en commun. Ils ont tous (une sorte de) machine virtuelle, une bibliothèque de classe et un cadre pour mettre en œuvre de nombreux types d'applications, y compris CLIONES.
donc, pour en revenir à votre question, pouvons-nous dire ce noeud.js est un serveur web? Nous allons changer le "Nœud.js" pour "JRE" et de répondre si JRE est un serveur web. La réponse est non.
Tout ce que nous peut dire, c'est que le Nœud.js est un environnement d'exécution que l'on peut utiliser pour implémenter un serveur web. Eh bien, c'est mon avis.
en Disant nœud est un serveur web, c'est comme dire javacript ne peut s'exécuter à l'intérieur d'un navigateur, vous pouvez dire que mais il peut aussi faire beaucoup d'autres choses.
NodeJS
- [JavaScript runtime environment (Chrome V8 engine) + Node Bibliothèque / APIs]
- Peut créer un serveur web, peut également être décrit comme un Serveur d'Application
Express
- framework Web (utilise le serveur web de nodejs pour servir les fichiers)
Nginx
- serveur Web
en production la plupart des gens utilisent Nginx devant node server comme serveur proxy pour servir des fichiers statiques et d'autres éléments divers comme la mise en cache, le routage, etc.
Je classifierais noeud.js comme un serveur de cadre, avec des paquets disponibles qui peuvent l'utiliser comme un serveur HTTP, ou un serveur WebSocket, ou votre propre protocole personnalisé, etc.
la raison pour laquelle vous pourriez mettre nginx devant votre noeud.js server est pour l'équilibrage de charge HTTP et le proxy inverse à travers plusieurs machines exécutant votre application serveur.
serveur Web est quelque chose qui sert ses clients par internet sur les protocoles et le cadre Web est quelque chose comme que nous appelons en tant que compilateur. Il se compose de toutes les bibliothèques requises, règles de syntaxe, etc.
et noeud.js est un cadre!!
je pense que le problème est que la terminologie de" serveur web "ou" serveur d'application web " est dominée par le monde JEE, et les produits, qui ne sont pas aussi modularisé que le monde Javascript D'aujourd'hui des cadres, qui à son tour peuvent être combinés plus ou moins librement.
Je ne vois pas pourquoi une technologie, qui peut servir des applications complexes sur le web, devrait pas être appelé un serveur web, ou un serveur d'application web!
si vous combinez, disons Nuxt comme frontend, avec Feathers comme backend - vous aurez un backend qui servira une API REST et une interface utilisateur rendue côté serveur!
bien sûr, vous pourriez (sig)de l'utiliser pour servir du contenu statique - alors, je l'appellerais un serveur web, ou vous pouvez l'utiliser pour préparer et servir une demande complète - alors, je l'appellerais un serveur d'applications web.
ce sont les caractéristiques combinées ou les qualités qui se résument à servir un but - droit? - Les caractéristiques comme la stabilité, l'évolutivité et tels sont IMHO quelque chose qui sera ajouté à ces technologies, au fil du temps. Pour l'instant, ils sont encore assez nouveau.
noeud est essentiellement juste un temps D'exécution environnement . Lorsque vous exécutez javascript sur node, vous lui donnez tellement de puissance(stéroïdes), dont l'une est la création de fonctionnalités de serveur utilisées pour servir les pages http.Donc, techniquement, noeud.js n'est pas un serveur, mais a des fonctionnalités d'activation de serveur.