Что под ExpressJS? - PullRequest
       2

Что под ExpressJS?

0 голосов
/ 30 марта 2020

Я знаком с серверными технологиями, такими как ExpressJS и Flask. С другой стороны, я четко понимал основные понятия CGI и Servlet. Flask / Django расширяет CGI до WSGI и использует его. И Servlet так широко используется в Java фреймворках. Теперь, что находится под ExpressJS / NodeJS? Я полностью слепой и даже не знаю, относится ли это к делу.

Пожалуйста, исправьте, если у меня вопрос идиотский c. Я не могу связать эти технологии.

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Express - это nodejs рамки. Они оба express и nodejs работают для рендеринга на стороне сервера. Но expressjs прост в использовании и удобен для пользователя. Например: в expressjs мы пишем

   const express = require('express')
const app = express();
app.get('/', (req, res) = {
res.send('Welcome to hompe page.')
})
app.listen(5500)

, но в nodejs

const http = require('http');

const requestListener = function (req, res) {
  res.writeHead(200);
  res.end('Hello, World!');
}

const server = http.createServer(requestListener);
server.listen(8080);

И так много всего, что вы найдете, express легко использовать.

1 голос
/ 30 марта 2020

ExpressJS использует встроенные nodejs http / https модули в качестве своего http-сервера. Ваш express экземпляр сам по себе является http-сервером.

Он не работает как Apache или CGI, где где-то еще есть http-сервер, который перенаправляет вам определенные запросы, или в случае CGI он может делиться с другими приложениями или даже другими арендаторами (в многопользовательской среде), запускать программы или сценарии, когда что-то совпадает с вашим URL.

Вместо этого ваш экземпляр express сам по себе является сервером http. Он получает свои собственные http-запросы, анализирует путь запрашиваемого ресурса и используемый глагол http, а затем проверяет его по вашим различным Express -определенным маршрутам, чтобы увидеть, какие совпадения, чтобы он мог вызвать обратные вызовы, связанные с этими маршрутами.

Таким образом, вместо того, чтобы http-сервер представлял собой совершенно отдельную вещь, которая работает сама по себе и может быть настроена на выполнение многих задач от имени множества отдельных приложений, в nodejs http-сервер - это просто компонент что серверное приложение может использовать. Фактически, он может иметь несколько http-серверов на разных портах для разных целей, являющихся частью одного и того же тела кода. Например, может быть внешний сервер https, который отправляет входящие запросы от клиентов на порт 80, и может быть отдельный http-сервер на порт 4000 (часто называемый контрольным портом), используемый для операций обслуживания, таких как настройки ведения журнала или управления нагрузкой, действия по диагностике c, такие как доступ к внутренней статистике сервера и т. д. c ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...