NodeJS. Как создать сервер.
Всем привет! В предыдущей статье мы рассмотрели, как работают клиенты и серверы, а в этой – создадим свой собственный сервер на NodeJS.
На самом деле, создать сервер в NodeJS достаточно просто. Для этого в платформе есть модуль http. Давайте подключим его.
var http = require('http');
Теперь создадим сервер с помощью метода createServer() в модуле http.
var server = http.createServer(function(request, response) {
});
Метод принимает два параметра: запрос и ответ. Это объекты. Запрос будет содержать детальную информацию о том, что было отправлено серверу, а ответ – то, что мы будем отправлять обратно клиенту. Однако, прежде чем мы будем отправлять наши ответы, давайте поговорим о заголовках.
Когда мы отправляем запрос серверу и получаем ответ, помимо данных мы получаем также и заголовки. Они содержат дополнительную информацию о запросе или ответе. Их можно сравнить с тегом head в html, где вы указываете ключевые слова, краткое описание, заголовок страницы и так далее. Заголовки не показываются браузеру, но дают ему немного больше информации об ответе для его правильной обработки. То же самое делает и браузер, когда отправляет данные на сервер.
Вот вам два типичных заголовка ответа:
Content-Type
Status
Первый говорит о том, в каком формате пришел ответ, а второй – о состоянии(все прошло успешно, ошибка, страница не найдена и т.д.). В нашем сервере мы тоже сначала напишем заголовки, а уже потом будем передавать какую-то информацию.
Итак, давайте закончим нашу функцию:
var server = http.createServer(function(request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Какие-то данные');
});
С помощью метода writeHead() мы отправляем браузеру информацию о том, что все прошло успешно(код 200, более подробно о кодах ответов вы можете почитать в википедии), а также указываем, что данные будут в виде простого текста(об этом вы можете почитать там же).
Теперь с помощью метода end() мы отправляем сами данные.
Вроде бы все готово, но, если вы сейчас попробуете обратиться к серверу, то ответа не получите. Все дело в том, что мы не указали серверу, какой порт нужно слушать(помните, мы говорили об этом в предыдущей статье?). Давайте же исправим эту ошибку.
server.listen(3000, '127.0.0.1'); // порт 3000, ip - localhost
Если вы теперь запустите наш сервер и перейдете в браузере по адресу: 127.0.0.1:3000, то получите ожидаемый ответ.
Итак, сегодня мы рассмотрели, как создать сервер в NodeJS. Спасибо за внимание!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.