2012-04-12 8 views
5

Yo estaba jugando con Node.js y algo extraño sucede cuando se ejecuta este código:variable se incrementa dos veces en función de devolución de Node.js http

var http = require("http"); 
var i = 0; 

function onRequest(request, response) { 
    response.writeHead(200, {"Content-Type": "text/plain"}); 
    response.write("You're number " + i++); 
    response.end(); 
} 

http.createServer(onRequest).listen(8888); 

Yo esperaría que se comporte como un contador de páginas vistas , pero con cada actualización de la pestaña del navegador obtengo el resultado de lo que parece ser i=i+2 en lugar de un simple incremento. ¿Podría alguien explicarme este comportamiento?

Respuesta

12

Su navegador está golpeando su servidor para favicon.ico también. Cada solicitud incrementa i, y la solicitud de favicon.ico cuenta. Para ver este comportamiento por su cuenta, utilice una herramienta como Fiddler o WireShark para ver este comportamiento.

+0

[Sí.] (Http://mathiasbynens.be/notes/rel-shortcut-icon) Esta es la respuesta. –

2

Apuesto a que es la solicitud de favicon que a los navegadores les encanta enviar una y otra vez.

+0

Gracias! Pensé que hacía 2 solicitudes, pero no sabía por qué. :RE –

Cuestiones relacionadas