Node.js:一个路由2次 request

1313

 

node.js 和其他服务器端编程语言有很大区别,语言上的特性优点已经在前面分享过,这里就不说了.

与其他语言相比,还有一个区别,node.js 自身实现了一个服务器,而其他服务器端语言大部分要依赖Apach ,nginx ,IIS 等.

 

node.js 可以用几句代码轻松实现:

var http = require('http');        


var webServer = function (req, res){ 
		res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'}); 
		res.write('<html><body>'); 
		res.write('<h2>Hello World!</h2>'); 
		res.end('</body></html>'); 
};

var createWebServer=http.createServer(webServer);

createWebServer.listen(8000);
console.log('listen 8000');

 

上面我们就实现了,不论什么路由,服务器端都会返回 Hello World!

但是:如果你看控制台log 会发现每个url的请求,都有2次 request .

不信可以把 console.log(req);

 

放到 webServer 函数中间,你一定会发现每个请求都输出2次 request 信息.

原因是因为node.js 每个请求默认还有一个 对 favicon.ico 资源的请求.Express 貌似对此请求做了特殊处理.

我们可以这样避免 favicon.ico 资源的请求

var http = require('http');        

var webServer = function (req, res){ 
	if(req.url!='/favicon.ico'){
		res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'}); 
		res.write('<html><body>'); 
		res.write('<h2>Hello World!</h2>'); 
		res.end('</body></html>'); 
	}
};

var createWebServer=http.createServer(webServer);

createWebServer.listen(8000);
console.log('listen 8000');

 

 

原文:http://yijiebuyi.com/blog/ee3c1f200f2824e581900509d9c9d246.html

本文转自:Node.js:一个路由2次 request

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值