Всем день добрый. Вопрос такой, сел вспомнить NodeJS и интереса ради накидал сразу вот такой вот серверок, чтобы протесить пару вещей:
var http = require('http');
var fs = require('fs');
http.createServer(function(req, res){
fs.readFile('test.txt', 'utf-8', function(err, data){
res.write(data);
console.log(data);
res.end();
});
}).listen(3030);
Тревиальнейший случай, но вот что я заметил, при переходе по адресу localhost:3000 мне на страницу выдает содержимое файла, но в консоль выдает содержимое файла дважды, не могу понять за счет чего это происходит, в chrome devtools вижу что один request приходит, а вот почему дважды выдает содержимое в консоль так и не понял.
Проверил ща. Все правильно, хром запрашивает фавикон. Опера на вебките — тоже. Но вот что интересно, firefox не запрашивает. Может у меня в настройках там чо, хз. Проверь у себя на файерфоксе, че то интересно стало.
А попробуй несколько раз. Я почему спрашиваю. У меня файерфокс с очищенной историей тоже запрашивает favicon, но при дальнейших запросах уже не запрашивает. Просто сделай запрос с файерфокса, а потом перезагрузи страницу несколько раз, и посмотри на вывод в консоли req.url. Будет он запрашивать favicon при дальнейших обращениях или нет. Я вот протестил на 2-х компах, и у меня в обеих случаях запрашивает только 1 раз до очищения истории.
запрашивает favicon, но при дальнейших запросах уже не запрашивает
Это есть кеширование, собственно, как оно есть. Браузероспецифичные штуки могут проявиться, если на favicon.ico приходит 404 или его содержимое не есть картинка.