如果我在节点中编写以下程序:
http.createServer(function (req, res) {
if( req.method == 'GET' ) {
var body = ''; req.on('data', function(data) { body += data });
req.on('end', function() {
console.log('request ended')
});
}
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('142\n');
}).listen(3500);
Run Code Online (Sandbox Code Playgroud)
然后点击服务器,http://xxx.xx.xxx.xx:35010我request ended在控制台上看到两次 - 我不确定为什么单个HTTP请求导致它执行两次.
3on*_*3on 146
这是正常的 - 您的浏览器会拨打多个电话.
例如,大多数浏览器都会调用抓取/favicon.ico.
尝试记录网址:
console.log(req.url);
Run Code Online (Sandbox Code Playgroud)
你会看到被叫的东西.
Muk*_*ain 10
通常,favicon.ico由浏览器提取.所以,这两个电话.
解决此问题的方法是检查请求URL是否正在提取favicon.ico.
http.createServer(function (req, res) {
if (req.url != '/favicon.ico') {
// do your stuffs
}
}).listen(3500);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14661 次 |
| 最近记录: |