2
次のnode.js HTTPプロキシ実装のどれがパフォーマンスが良いのでしょうか?どのnode.js HTTPプロキシの実装がより効果的ですか?
最初の実装は次のとおりです。
var http = require('http');
http.createServer(function(request, response) {
var proxy = http.createClient(80, "google.com")
var proxy_request = proxy.request(request.method, request.url, request.headers);
proxy_request.addListener('response', function (proxy_response) {
proxy_response.addListener('data', function(chunk) {
response.write(chunk, 'binary');
});
proxy_response.addListener('end', function() {
response.end();
});
response.writeHead(proxy_response.statusCode, proxy_response.headers);
});
request.addListener('data', function(chunk) {
proxy_request.write(chunk, 'binary');
});
request.addListener('end', function() {
proxy_request.end();
});
}).listen(8080);
秒1はstream.pipe()を使用し、それはのようだ:
var http = require('http');
http.createServer(function(request, response) {
var proxy = http.createClient(80, "google.com");
var proxy_request = proxy.request(request.method, request.url, request.headers);
proxy_request.on('response', function (proxy_response) {
proxy_response.pipe(response);
response.writeHead(proxy_response.statusCode, proxy_response.headers);
});
request.pipe(proxy_request);
}).listen(8080);
がベンチマークを実行します。私はパイプでそれに賭けた。 –
なぜあなたは車輪を再発明したいのですか?あなたはあなたのために仕事をするモジュールを使うことができます。 http://search.npmjs.org/でnode.jsモジュールを検索します。 –