nodejs http代码执行两次的解决方案

有一天 我在研究nodejs的时候 突然发现我创建的httpServer里的代码被执行了两次

var http = require("http");
var httpServer = http.createServer(function(request, response) {
	response.writeHead(200, {
		"Content-Type": "text/html;charset=UTF-8"
	});
	console.log("执行");
	response.end("hello world");
 
}).listen(4000);
console.log("start Server //192.168.8.104:4000");

结果如下图
在这里插入图片描述
于是 我就输出了一下请求的路径

var http = require("http");
var httpServer = http.createServer(function(request, response) {
	response.writeHead(200, {
		"Content-Type": "text/html;charset=UTF-8"
	});
	console.log(request.url);  //修改的地方
	response.end("hello world");
 
}).listen(4000);
console.log("start Server //192.168.8.104:4000");

执行后结果为下图 是原来浏览器还请求了/favicon.ico
在这里插入图片描述
看到这里可能大家就明了了 所以我们可以通过if判断来解决 把代码改成如下

var http = require("http");
var httpServer = http.createServer(function(request, response) {
	response.writeHead(200, {
		"Content-Type": "text/html;charset=UTF-8"
	});
	if(request.url=="/"){
		console.log("执行");
		response.end("hello world");  //代表返回响应
	}
 
}).listen(4000);
console.log("start Server //192.168.8.104:4000");

然后就解决了 当然你也可以写成request.url=="/favicon.ico"什么都不执行就好了
在这里插入图片描述
最后 一点扩展知识 大家好不好奇favicon.ico是什么东西 其实是浏览器在找这个文件 它是一个小图标 就是下面图片的小图标 比如百度的小熊掌图标 简书的简字图标 CSDN的C形图标
在这里插入图片描述
在这里插入图片描述
你或者直接在网址上输入jianshu.com/favicon.ico 你会看到简字图标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值