0
我今天安裝了node.js。我從例子「Hello World」服務器開始,並開始對它進行黑客攻擊。沒過多久,我有這樣的:爲什麼CreateServer函數處理程序被調用兩次?
var http = require('http');
var count = 0;
http.createServer(function handler(req, res) {
console.log('yeah ' + count++);
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('<b>Zoot!</b><br><em>yeah</em>\n');
}).listen(1338, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1338/');
當我瀏覽到該端口,我的控制檯日誌顯示在CreateServer處理程序被調用兩次 - 我增加了計數,所以我可以肯定。 2'瀏覽'後:
Server running at http://127.0.0.1:1338/
yeah 0
yeah 1
yeah 2
yeah 3
爲什麼會發生這種情況?
編輯
蒂姆庫珀是正確的。
我更改的日誌記錄行
console.log('yeah ' + req.url +' '+ count++);
,得到了這樣的結果
Server running at http://127.0.0.1:1338/
yeah/0
yeah /favicon.ico 1
yeah/2
yeah /favicon.ico 3
您的瀏覽器很可能從服務器以及HTML頁面請求'/ favicon.ico'。 –
好吧,我會開始尋找。謝謝! 更多來。 –
好的,這很容易。謝謝@TimCooper。將您的評論發佈爲答案。 –