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


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

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

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

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

http.createServer(() => {

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

http.createServer((request, response) => {

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

http.createServer((request, response) => {
response.write('text1');
response.write('text2');
response.write('text3');
response.end();
});
С помощью метода end мы командуем завершить наш ответ и отправить его в браузер:

http.createServer((request, response) => {
response.write('text1');
response.write('text2');
response.write('text3');
response.end();
});
После запуска сервера мы должны сказать, на каком порте наш сервер будет ожидать запросы от браузера. Это делается с помощью метода listen. Давайте укажем традиционный порт 3000:

http.createServer((request, response) => {
response.write('text1');
response.write('text2');
response.write('text3');
response.end();
}).listen(3000);
Теперь мы можем обратиться к нашему серверу через браузер, набрав http://localhost:3000, где после двоеточия указан заданный нами порт.

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

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