Приращение переменной сервера NodeJS на два для каждого запроса

Когда этот код запускается,i увеличивается на два каждый раз, и я не могу точно указать в документации или иначе, почему это так. Я ожидаю, что приращение будет по одному для каждого запроса, но это не так. Почему это ведет себя так, как есть?

var http = require('http');
var i = 0;
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Number: ' + i + '\n');
  i++;
}).listen(8000, '127.0.0.1');
 Luke Girvin26 окт. 2011 г., 17:28
Просто чтобы подтвердить, вы используете Chrome? Вы пробовали другой браузер? Я подозреваю, что это не произойдет в Firefox (например), см. Мой комментарий к ответу Рейноса.

Ответы на вопрос(1)

Решение Вопроса

console.log(req.url);

Вы заметите, что URL-адреса/ а также/favicon.ico

Браузеры любят делать запросы к favicon.ico для вас. Вот почему вы получаете 2 запроса.

 wesley.mesquita24 янв. 2014 г., 16:41
@Raynos У меня точно такая же проблема! +1 для Firefox и +2 для Chrome. Спасибо!
 alandarev02 окт. 2014 г., 18:11
Боже, почему я продолжаю находить твои ответы на мои вопросы! Судя по всему, Chrome не показывает запрос favicon в Develoer -> Network, что вводит в заблуждение.
 Luke Girvin26 окт. 2011 г., 17:27
Вероятно, это связано с ошибкой в Chrome, см. Этот ответ:stackoverflow.com/questions/4761913/...
 Matty26 окт. 2011 г., 17:41
@ LukeGirvin Да, Chrome. В первом случае только увеличивается на два, и каждый раз после этого это одно увеличение. Я не думал о проблеме с иконками.
 David Da Silva Contín04 авг. 2012 г., 13:06
О, я также заметил эту проблему, когда впервые попал в Node.js. Спасибо за ответ Райнос!

Ваш ответ на вопрос