180.88K
Категория: ПрограммированиеПрограммирование

Работа со встроенными модулями

1.

ЗАНЯТИЕ №2
Работа со
встроенными
модулями

2.

Пример простейшего сервера
1.
Модуль http
let http = require("http");
Нам понадобится модуль http

3.

http.createServer(requestHandler)
Создаёт сервер. requestHandler - это функция,
которая обработает запрос.
• Эта функция принимает два параметра request и
response.
• request - объект запроса, входящие данные
• response - объект ответа
• Метод возвращает объект Server

4.

request (свойства)
• headers - заголовки
• method - метод запроса
• url - адрес запроса

5.

response (методы)
• statusCode: устанавливает статусный код ответа
• statusMessage: устанавливает сообщение,
отправляемое вместе со статусным кодом
• setHeader(name, value): добавляет в ответ один
заголовок
• write: пишет в поток ответа некоторое содержимое
• end: сигнализирует серверу, что заголовки и тело
ответа установлены, в итоге ответ отсылается
клиенту.

6.

server.listen(port [, callback])
• Запускает сервер на прослушку входящих
соединений
• port - порт
• callback - функция обратного вызова
(необязательный параметр)

7.

Простой вариант сервера
let http = require("http");
let server = http.createServer( (req, res)=> {
console.log(req.url);
res.end("This is server");
})
server.listen(3000, ()=>{
console.log("server is running on port 3000")
})

8.

Сделаем сервер, по разному отвечающий
на get-запросы по адресу
• 2. модуль url
• Модуль для обработки url адресов.
• метод parse(url [, true])
• 1-ый параметр url, 2-ой - если мы хотим
преобразовать строку запроса в объект (будет
доступен в свойстве .query).

9.

Отслеживаем параметры запроса
let server = http.createServer( (req, res)=> {
console.log(`URL: ${req.url}`);
let data = url.parse(req.url, true);
if (data.query.name) {
res.end(`Hello, ${data.query.name}`);
} else {
res.end("What is that?");
}
})

10.

Задание
Сервер с выдачей информации по запросу.
На сервере должно быть несколько массивов с разной
информацией (можно взять за пример reqres.in).
Сделать несколько вариаций запросов - с разными путями,
выдавать по каждому запросу разные страницы.
English     Русский Правила