Rod*_*res 1 javascript c# http node.js express
我一直在对nodejs express服务器进行一些压力测试,并注意到默认情况下它包含一个"Connection:Keep-Alive"标头.我的应用程序将是一个暴露给客户端的web api,因此在客户端发布数据并收到响应后,我不需要保持连接状态.
不幸的是,由于客户端的限制,这需要是同步操作.我们已经有一个C#Web API,我们打算用nodejs服务器替换它,这个API不会在HTTP响应上附加一个Keep Alive标头.我找不到覆盖此行为的方法.我已尝试使用app.disable并删除中间件上的标头,但它不起作用(但它适用于其他HTTP标头).
var express = require('express'),
app = express(),
port = 58458;
app.configure(function(){
app.use(express.bodyParser());
app.use(app.router);
});
app.use(function (req, res, next) {
res.removeHeader('Connection','Close');
next();
});
app.disable('Connection');
var counter = 0;
app.listen(port, function() { console.log('escutando') } );
app.post("/api/order", function(req, res) {
counter = counter + 1;
var r = req.body;
if (counter%100 === 0)
console.log(counter);
res.json(1);
res.end();
});
Run Code Online (Sandbox Code Playgroud)
小智 5
您必须设置标题而不是删除标题
app.use(function(req, res, next) {
res.setHeader('Connection', 'close');
next();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2558 次 |
| 最近记录: |