Node js start server

Node js start server

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

В этом разделе предлагаются задачи по теме AJAX.

Конечно же, они требуют взаимодействия с сервером. Мы будем использовать серверную часть, написанную на JavaScript, на Node.JS.

Если вы не использовали Node.JS ранее – не беспокойтесь. Здесь нашей целью является преимущественно клиентская часть, поэтому прямо сейчас изучать Node.JS не обязательно. Серверные скрипты уже готовы. Нужно только поставить Node.JS и модули, чтобы их запускать.

Установка

Для настройки окружения будет достаточно сделать два шага:

Сначала установите сам сервер Node.JS.

Если у вас Unix-система – рекомендуется собрать последнюю версию из исходников, а также NPM. Вы справитесь.

Если Windows – посетите сайт http://nodejs.org или скачайте установщик (32 или 64-битный) с расширением .msi из http://nodejs.org/dist/latest/.

Выберите директорию, в которой будете решать задачи. Запустите в ней:

Это установит в текущую директорию модуль node-static, который станет автоматически доступным для скриптов из поддиректорий.

Если у вас Windows и команда не сработала, то скорее всего дело в том, что «не подхватились» новые пути. Перезапустите ваш файловый менеджер или консоль.

Once you have installed Node, let’s try building our first web server. Create a file named "app.js", and paste the following code:

After that, run your web server using node app.js , visit http://localhost:3000 , and you will see a message ‘Hello World’

В© Node.js Foundation. All Rights Reserved. Portions of this site originally В© Joyent.

Node.js is a trademark of Joyent, Inc. and is used with its permission. Please review the Trademark Guidelines of the Node.js Foundation.

Linux Foundation is a registered trademark of The Linux Foundation.

Читайте также:  Open for use перевести на русский

Linux is a registered trademark of Linus Torvalds.

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

Для работы с сервером и протоколом http в Node.js используется модуль http.

Чтобы создать сервер, следует вызвать метод http.createServer() :

Метод createServer() возвращает объект http.Server . Но чтобы сервер мог прослушивать и обрабатывать входящие подключения, у объекта сервера необходимо вызвать метод listen() , в который в качестве параметра передается номер порта, по которому запускается сервер.

Для обработки подключений в метод createServer можно передать специальную функцию:

Эта функция принимает два параметра:

request : хранит информацию о запросе

response : управляет отправкой ответа

Request

Параметр request позволяет получить информацию о запросе и представляет объект http.IncomingMessage . Отметим некоторые основные свойства этого объекта:

headers : возвращает заголовки запроса

method : тип запроса (GET, POST, DELETE, PUT)

url : представляет запрошенный адрес

Например, определим следующий файл app.js:

Запустим его и обратимся в браузере по адресу http://localhost:3000/index.html :

Response

Параметр response управляет отправкой ответа и представляет объект http.ServerResponse . Среди его функциональности можно выделить следующие методы:

statusCode : устанавливает статусный код ответа

statusMessage : устанавливает сообщение, отправляемое вместе со статусным кодом

setHeader(name, value) : добавляет в ответ один заголовок

write : пишет в поток ответа некоторое содержимое

writeHead : добавляет в ответ статусный код и набор заголовков

end : сигнализирует серверу, что заголовки и тело ответа установлены, в итоге ответ отсылается клиента. Данный метод должен вызываться в каждом запросе.

Например, изменим файл app.js следующим образом:

Запустим файл и обратимся в браузере к приложению:

Если предстоит отправить довольно большой ответ, то мы можем несколько раз вызвать метод write() , последовательно оправляя в исходящий поток каждый кусочек информации. Например, отправим код более менее полноценной веб-страницы:

Маршрутизация

По умолчанию Node.js не имеет встроенной системы маршрутизации. Обычно она реализуется с помощью специальных фреймворках типа Express, о котором речь пойдет в следующей главе. Однако если необходимо разграничить простейшую обработку пары-тройки маршрутов, то вполне можно использовать для этого свойство url объекта Request. Например:

Читайте также:  Php подключение к mysql и вывод данных

В данном случае обрабатываются три маршрута. Если идет обрашение к корню сайта или по адресу localhost:3000/home , то пользователю выводится строка "Home". Ели обращение идет по адресу localhost:3000/about , то пользователю в браузере отображается строка About и так далее. Если запрошенный адрес не соответствует ни одному маршруту, то выводится заговлок "Not Found".

Однако опять же отмечу, что рамках специальных фреймворков, которые работают поверх Node.js, например, Express, есть более удобные способы для обработки маршрутов, которые нередко и используются.

Переадресация

Переадресация предполагает отправку статусного кода 301 (постоянная переадресация) или 302 (временная переадресация) и заголовка Location , который указывает на новый адрес. Например, выполним переадресацию с адреса localhost:3000/ на адрес localhost:3000/newpage

Ссылка на основную публикацию
Adblock detector