# Модуль http

http - устроен Node.js модуль, используемый для создания http сервера и отправки http запросов.

Пример создания сервера через http модуль:

```
const http = require('http');

// Функция createServer создает сервер и получает коллбек.
// Коллбек отрабатывает каждый раз, как клиент запрашивает сервер
const server = http.createServer((req, res) => {
    // Коллбек принимает два параметра req (Request) и res (Response)
    // req содержит всю информацию о запросе клиента
    // res содержит всю информацию об ответе, что мы должны отправить клиенту
    // и вспомогательные методы для построения этого ответа
    // Объекты req i res являются уникальными для каждого запроса клиента
    
    console.log('Request received');
        
    res.statusCode = 200;
    res.end('My first server');
});

// Метод listen запускает наш сервер и указывает, на порте с каким номером
// необходимо принимать подключения от клиентов
// также он может принимать коллбек, что отработает после запуска сервера
server.listen(3000, () => {
    console.log ('Server started listening on port 3000');
});
```
