Настройка ответа сервера на NodeJS

С помощью свойства statusCode мы указываем код HTTP ответа. Как правило это код 200, сообщающий браузеру о том, что все ок и страница найдена:

index.jshttp.createServer((request, response) => {
  response.statusCode = 200;
  response.write('hello world');
  response.end();
});
Задание 1

Поменяйте код ответа на 404. В качестве текста страницы выведите текст о том, что страница не найдена.

HTTP заголовки

С помощью метода setHeader можно отправлять HTTP заголовки. Для примера давайте отправим заголовок Content-Language:

index.jshttp.createServer((request, response) => {
  response.setHeader('Content-Language', 'ru');
  response.statusCode = 200;
  response.write('hello world');
  response.end();
});
Задание 2

Отправьте заголовок Cache-Control со значением 'no-cache'.

Отправка HTML

Пока, однако, браузер трактует наш ответ как обычный (plain) текст. Сделаем так, чтобы наш ответ трактовался как HTML. Для этого с помощью метода setHeader отправим соответствующий HTTP заголовок:

index.jshttp.createServer((request, response) => {
  response.setHeader('Content-Type', 'text/html');
  response.statusCode = 200;
  response.write('<b>hello world</b>');
  response.end();
}).listen(3000);
Задание 3

Сделайте так, чтобы ваш сервер при запросе отдавал текущее время, оформленное в каком-нибудь теге.

Код ответа

Код ответа и заголовки можно объединить в одном методе writeHead. Первым параметром этот метод принимает код ответа, а вторым - объект с заголовками:

index.jshttp.createServer((request, response) => {
  response.writeHead(200, {'Content-Type': 'text/html'});
  response.end();
});
Задание 4

Дан следующий код:

index.jshttp.createServer((request, response) => {
  response.setHeader('Content-Type', 'text/plain');
  response.statusCode = 404;
  response.write('page not found');
  response.end();
}).listen(3000);

Упростите его через метод writeHead.

Задание 5

Дан следующий код:

index.jshttp.createServer((request, response) => {
  response.setHeader('Content-Type', 'text/html');
  response.setHeader('Content-Language', 'ru');
  response.statusCode = 200;
  response.write('{}');
  response.end();
}).listen(3000);

Упростите его через метод writeHead.