Убираем двойной запрос HTTP сервера на NodeJS
При выводе URL сайта вы могли обратить внимание на то, что кроме запрошенного адреса в консоль выводится еще и '/favicon.ico'.
Дело в том, что при заходе на сайт браузер автоматически запрашивает фавиконку. Это приводит к тому, что к серверу отправляется два запроса.
Наиболее правильным действием здесь будет на запрос фавиконки отдавать файл с ней. Вы, однако, еще это делать не умеете, поэтому просто сделаем условие, отсекающее двойной вывод в консоль:
http.createServer((request, response) => {
if (request.url != '/favicon.ico'){
console.log(request.url); // теперь выполнится один раз
response.writeHead(200, {'Content-Type': 'text/html'});
response.write('text');
response.end();
}
}).listen(3000);
Такой шаг не избавляет нас от двойного запроса (он всегда будет двойной), но раздражающий двойной вывод в консоль исчезнет.
В дальнейшем мы поправим наш код так, чтобы в браузер действительно отдавалась фавиконка.