The following is the example web server from the documentation, with an added counter. It prints the counter to the console whenever a client/browser requests the page.
In programming, when stuck, it's always handy to trace the code to better understand what's happening. The easiest way to do this is to put more debug/print statements in till you can see what's going on.
Change the sys.puts line to:
sys.puts('Counter ' + counter + " from " + req.url);
I think you'll find that the 2nd request is the browser requesting the favicon for the site.
We can ignore the page refresh count due to favicon with the following code snippet:
if (request.url === '/favicon.ico') {
response.writeHead(200, {'Content-Type': 'image/x-icon'} );
response.end();
console.log('favicon requested');
return;
}
Ref: https://gist.github.com/763822