Создание HTTP сервера на NodeJS

Давайте теперь развернем HTTP сервер на NodeJS . Этот сервер будет принимать запросы от браузера и отдавать в ответ HTML код страниц.

Для начала нам нужно импортировать модуль http:

index.jsimport http from 'http';

После этого мы можем стартовать наш сервер с помощью метода createServer:

index.jshttp.createServer();

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

index.jshttp.createServer(() => {
  
});

В нашем коллбэке мы должны определить два параметра. В первый параметр попадет объект с данными запроса пользователя, а во второй параметр - объект, с помощью которого мы сфомируем наш ответ, отправляемый в браузер:

index.jshttp.createServer((request, response) => {
  
});

С помощью метода write мы можем говорить, какой текст отправить в браузер:

index.jshttp.createServer((request, response) => {
  response.write('text1');
  response.write('text2');
  response.write('text3');
  response.end();
});

С помощью метода end мы командуем завершить наш ответ и отправить его в браузер:

index.jshttp.createServer((request, response) => {
  response.write('text1');
  response.write('text2');
  response.write('text3');
  response.end();
});

После запуска сервера мы должны сказать, на каком порте наш сервер будет ожидать запросы от браузера. Это делается с помощью метода listen. Давайте укажем традиционный порт 3000:

index.jshttp.createServer((request, response) => {
  response.write('text1');
  response.write('text2');
  response.write('text3');
  response.end();
}).listen(3000);

Теперь мы можем обратиться к нашему серверу через браузер, набрав http://localhost:3000, где после двоеточия указан заданный нами порт.

Задание 1

Разверните сервер, отправляющий в браузер какой-нибудь текст.

Остановка сервера

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

Чтобы завершить такой процесс, вам нужно в терминале нажать клавиши Ctrl + C. В этом случае сервер остановится и затем его можно будет запустить опять.

Задание 2

Остановите запущенный сервер.