• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

zero零

生活里,我们都要像《西游记》里的人物那样,遇到困难时,如孙悟空不怕困难,并顽强的战胜逆境;失落时,不要像猪八戒那样,只知道喋喋不休的抱怨;行走在路上时,要像沙和尚那样,诚实勤恳,少说多做;运筹帷幄时,则要像唐僧那样,懂得谦卑、感恩。
  • 博客园
  • 联系
  • 管理

View Post

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 />')
     }
});

  

 

         

posted on 2018-10-10 15:04  zero零  阅读(2066)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3