Понимание работы сервера на NodeJS


Вам следует понимать, что наш сервер, будучи один раз запущенным, обрабатывает запросы всех пользователей нашего сайта. Этим подход NodeJS отличается от подхода PHP в котором скрипт запускается, отрабатывает и умирает.

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

Таким образом можно сделать, к примеру, счетчик запросов к нашему серверу и отдавать его значение каждому запросу:

let i = 0;

http.createServer((request, response) => {
response.setHeader('Content-Type', 'text/html');
response.statusCode = 200;
response.write(String(++i));
response.end();
}).listen(3000);