Подтвердить что ты не робот

Можем ли мы сказать node.js - это веб-сервер?

Я обнаружил, что я запутался между веб-каркасом и веб-сервером.

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

Можно ли сказать node.js - это веб-сервер??? Я так запутался между веб-сервером/фреймворком.

Если каким-то образом node.js является своего рода веб-сервером, а не webframework (Express), зачем нам помещать весь node.js поверх сервера Nginx в полезной практике? Вопрос о SO

Кто может помочь???

Комплект

4b9b3361

Ответ 1

Веб-сервер

Веб-сервер может ссылаться либо на аппаратное обеспечение (компьютер), либо на программное обеспечение (компьютерное приложение), которое помогает доставлять контент, который могут быть доступны через Интернет. 1

Основная функция веб-сервера - доставка веб-страниц на запрос клиентам. Это означает доставку документов HTML и любых дополнительный контент, который может быть включен в документ, например изображения, таблицы стилей и сценарии.

Веб-сервер является базовым для доставки запросов/доступа к клиентам/пользователям в Интернете.

Веб-инфраструктура

Рамка веб-приложений - это программная среда, которая разработана для поддержки разработки динамических веб-сайтов, веб-приложений и веб-сервисы. Эта структура направлена ​​на облегчение связанных с накладными расходами с общими действиями, выполняемыми в веб-разработке. Например, многие фреймворки предоставляют библиотеки для доступа к базе данных, шаблоны структуры и управление сеансами, и они часто способствуют повторному использованию кода.

Веб-инфраструктура использует веб-сервер для доставки запросов клиенту, но это не веб-сервер.

Node.js

Node.js - это платформа, встроенная в среду выполнения JavaScript JavaScript создание быстрых, масштабируемых сетевых приложений. Node.js использует управляемая событиями, неблокирующая модель ввода-вывода, которая делает ее легкой и эффективный, идеально подходит для приложений с интенсивным использованием данных в реальном времени, которые запускаются через распределенные устройства.

Но опять-таки вы также можете создавать приложения для CLI, поэтому я думаю, что вы должны увидеть его скорее как платформу для написания javascript-программ для запуска на вашем сервере (компьютере) с помощью Javascript язык программирования, а не только в браузере, как в начале. Я думаю, вы могли видеть это как Javascript++??

Вы также можете написать веб-сервер с Node.js, как вы можете видеть на первой странице Node.js. В начале Райан сказал, что вы можете поставить Nginx перед Node.js из-за стабильности проекта. Проект был и остается довольно молодым. Nginx - проверенный веб-сервер, который будет продолжать работать, пока Node.js может произойти сбой. Затем снова много пользователей просто используют Node.js для этого.

Ответ 2

Я бы сказал, Node.js является среда выполнения или Runtime Engine.

Вероятно, лучшее определение, которое я нашел до сих пор, взято из статьи Роба Гравелла под названием "Вступление к Node.js" :

Node.js - часть среды выполнения и библиотека деталей для создания сетевых приложений с использованием серверного JavaScript. Он использует механизм выполнения JavaScript JavaScript для выполнения JS-кода напрямую, без необходимости в песочнице браузера.

Также энциклопедия PCMAG.COM предоставляет следующее определение "runtime engine":

Программное обеспечение, от которого зависят определенные приложения, для запуска на компьютере. Для выполнения приложения на компьютере должен быть запущен движок времени выполнения. Он предоставляет общие процедуры и функции, которые требуются приложениям, и он обычно преобразовывает программу, которая находится на промежуточном промежуточном языке, в машинный язык.

Также статья Википедии, озаглавленная "Система времени выполнения", объявляет:

Система времени выполнения (также называемая системой времени выполнения, средой выполнения или просто временем выполнения) реализует базовое поведение компьютерного языка, независимо от того, является ли язык компилированным языком, интерпретированным языком, встроенным доменным языком или вызывается через API, как и pthreads.

... Система времени выполнения может реализовать поведение таких задач, как рисование текста на экране или подключение к Интернету. Он также обычно выступает в качестве уровня абстракции, который скрывает сложность или вариации услуг, предлагаемых операционной системой.

Хорошо, существуют ли среды выполнения (или даже программные платформы), например Node.js? Я думаю, что JRE - хороший пример такой среды. Node.js и JRE - у них много общего. Все они имеют (своего рода) виртуальную машину, библиотеку классов и структуру для реализации многих типов приложений, включая CLI.

Итак, вернувшись к вашему вопросу, можем ли мы сказать, что Node.js - это веб-сервер? Пусть изменение "Node.js" для "JRE" и ответьте, если JRE является веб-сервером. Ответ - нет.

Все, что мы можем сказать, заключается в том, что Node.js - среда выполнения, которую можно использовать для реализации веб-сервера. Ну, это мое мнение.

Ответ 3

Я бы классифицировал node.js как структуру сервера, с доступными пакетами, которые могут использовать его как HTTP-сервер, или сервер WebSocket, или собственный собственный протокол и т.д.

Причина, по которой вы можете поставить nginx перед вашим сервером node.js, - это балансировка нагрузки HTTP и обратное проксирование на нескольких машинах, на которых запущено ваше серверное приложение.

Ответ 4

Говорить node - это веб-сервер, как сказать, что javacript может работать только внутри браузера, вы можете сказать это, но он также может делать много других вещей.

NodeJS

  • [среда разработки Javascript (механизм Chrome v8) + Node Библиотека /API ]
  • Можно создать веб-сервер, также можно описать как Сервер приложений

Экспресс

  • Веб-инфраструктура (использует веб-сервер nodejs для обслуживания файлов)

Nginx

  • Веб-сервер

В производстве большинство людей используют Nginx перед сервером node в качестве прокси-сервера для обслуживания статических файлов и других элементов, таких как кеширование, маршрутизация и т.д.

Ответ 5

Веб-сервер - это то, что обслуживает своих клиентов через интернет через протоколы, а Web Framework - это то, что мы называем компилятором. Он состоит из всех необходимых библиотек, правил синтаксиса и т.д.

И node.js - это структура!!