¿Por qué la función de callback se llama dos veces para cada solicitud?

Chicos, soy nuevo en el nodo js y este comportamiento es extraño para mí. En el siguiente fragmento de código,

'use strict'; var http = require('http'); var numberOfRequests = 0; http.createServer(function (request, responce) { console.log('Request number ' + numberOfRequests + ' received!'); responce.writeHead(200); responce.write("Here is responce to your request.."); responce.end(); numberOfRequests++; } ).listen(8080); console.log('listening ...'); 

para cada

 localhost:8080 

llamar a Chrome, la aplicación escribe dos veces en la consola? ei para una sola llamada 8080, imprime:

 Request number 0 received! Request number 1 received! 

Estoy usando Visual Studio para ejecutar esta aplicación de nodo js.

Por lo general, cuando ve dos solicitudes para cada solicitud de página, una es para la página deseada y otra para el favicon para el sitio web. Esto es lo que hace la mayoría de los navegadores a menos que haya una etiqueta meta en la página que le indique al navegador que no solicite un recurso de favicon. Si haces esto en tu manejador:

 console.log(request.url) 

Eso probablemente te mostrará lo que está pasando. En general, no desea tener un servidor web donde nunca vea qué recurso se solicita. Si basaba su lógica en un recurso específico que se solicita, como / , entonces sería fácil ignorar otros tipos de solicitudes, como el favicon.