node.js "/favicon.ico"


  一、 request url !=='/favicon.ico'。

今天研究了下node.js的http,看到一个奇怪的问题。代码:

//加载http模块
const htp=require('http');
const server=htp.createServer();
//request
server.on('request',function(req,res){
res.writeHead(200,'favicon.ico',{
'Content-Type':'text/html; charset=utf-8'
});
console.log('访问1');
console.log('访问2');
console.log('访问3');
res.write('response正在执行中......'+'<br />');
res.end('response已结束'+'<br />')
});
//listen
server.listen(8888,'localhost');
console.log('server running at http://localhost:8888');

从结果来,理伦上console.log()只能会输出三次访问,但是为什么是六次?查了很多资料,最后查到因为“/favicon.ico”才重复执行多一次。要实现执行只执行一次,发须进行判断。代码:

//request
server.on('request',function(req,res){
      res.writeHead(200,'favicon.ico',{
            'Content-Type':'text/html; charset=utf-8'
     });
     if(req.url !== '/favicon.ico'){
          console.log('访问1');
          console.log('访问2');
          console.log('访问3');
          res.write('response正在执行中......'+'<br />');
          res.end('response已结束'+'<br />')
     }
});

  

 

         


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM