2012-04-12 1 views
5

が起こる:変数は、Node.jsのHTTPで二回インクリメントされますが、このコードを実行すると、私はNode.jsの奇妙な何かで遊んでたコールバック関数

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); 

私はそれがページビューカウンタのように振る舞うことを期待しますしかし、ブラウザのタブをリフレッシュするたびに、単純なインクリメントの代わりにi=i+2と思われる結果が得られます。誰かがこの行動を私に説明できますか?

答えて

12

お使いのブラウザは、同様にfavicon.icoは、サーバーに当たっています。各要求はi、およびfavicon.icoカウントの要求をインクリメントします。

は、この動作を自分で確認するために、このようなFiddlerWireSharkなどのツールを使用してください。

+0

[うん。](http://mathiasbynens.be/notes/rel-shortcut-icon)これが答えです。 –

2

私はそれはブラウザが何度も何度も送るのが大好きファビコン要求だ賭けます。

+0

ありがとう!私はそれが2つの要求をしたと思ったが、理由を知らなかった。 :D –

関連する問題