我编写了一个使用Node js"restify"框架的小API.此API接收请求(实际上是"/"之后的任何内容),然后将该请求发送到另一台服务器.从服务器获取响应并将响应传递回原始请求源.对于这个API我使用restify服务器和客户端.
以下是用于更好理解的API代码.
var apiServer = require('apiServer');
apiServer.start();
var restify = require('restify');
var assert = require('assert');
function onRequest(request, response, next)
{
    var client = restify.createStringClient({ 
        url: 'http://example.com'
    });
    client.get('/' + request.params[0], function(err, req, res, data) {
        assert.ifError(err);
        response.setHeader('Content-Type', 'text/html');
        response.writeHead(res.statusCode);
        response.write(data);
        response.end();
    });
    next();
}
function start()
{
    var server = restify.createServer();
    server.get(/^\/(.*)/, onRequest);
    server.listen(8888);
    console.log("Server has started.");
}
exports.start = start;
现在我需要知道Node.js response.write和之间的区别response.send.因为response.write我可以设置标题并在其中写入,但在使用时不能对标题执行任何操作response.send.当我用response.send用setHeader()还是writeHeader()我得到这个错误:
http.js:691
    throw new …