Articles of http

节点HTTP服务器的最高性能?

我正在运行一个testing,试图从节点HTTP服务器获得最大的传输速度。 这是一个简单的服务器。 在我的testing中,我有50K的虚拟客户端build立与服务器的永久连接(我之前运行ulimit -n 99999)。 然后,在另一个事件,一个HTTP连接到不同的端口,服务器发送一个消息到每个虚拟客户端。 最后,所有客户端都收到相应的消息。 在我的testing中发送所有消息需要几分钟。 有没有任何build议可以帮助我改进这些测量,以便我可以在几秒钟内发送5万条消息而不是几分钟? 服务器在m1.medium AWS实例中运行。 这个想法是用相同的平台来提高性能。 复制服务器代码: var http = require("http"); var connectionResponse = []; var connectionIndex = 0; http.createServer(function(request, response) { console.log("Received connection " + connectionIndex); response.setTimeout(1200000, function() { console.log("Socket timeout"); }); connectionResponse[connectionIndex] = response; connectionIndex++; }).listen(8888); http.createServer(function(request, response) { console.log("8887 connected – Will respond"); response.writeHead(200, {"Content-Type": "text/plain"}); […]

如果没有`www`,域名无法正常工作,那么node.js中的解决scheme是什么?

我知道这个问题已经被问到域名不工作没有www 但是我需要一个解决scheme,用于托pipe在heroku上的node.js应用程序,以及使用名为komodo的namecheap 另外,我发现这个类似的东西 ,我根本不明白。 有人可以举例说明如何在node.js中处理这个问题吗? 详情:我正在使用快递。 在Heroku我有 langtime.me(Domain Name) yamanashi-3938.herokussl.com (DNS Target) www.langtime.me(Domain Name) yamanashi-3938.herokussl.com(DNS Target) 在Namecheap中我有: @ | https://www.langtime.me | URL redirect www | yamanashi-3938.herokussl.com. | CNAME

Node.js的process.nextTick仍然阻止服务器获取请求

我得到这段代码: import http from 'http'; function compute() { let [sum, i] = [1, 1]; while (i<1000000000) { 5*2 i++; } console.log("good"); process.nextTick(compute); } http.createServer((request, response) => { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World'); }).listen(5000, '127.0.0.1'); http.request({hostname: '127.0.0.1', port: 5000}, (response) => { console.log("here !"); }).end(); compute(); 输出的总是:“好,”好“…和HTTP请求没有被调用。我认为process.nextTick应该解决这个问题,但服务器仍然被阻止。为什么?我该如何解决它?

node.js请求和restify客户端有什么区别?

两者似乎都有类似的目的。 我正在使用restify服务器作为REST API服务器。 这是否意味着我更喜欢使用客户端? http://restify.com/#client-api https://www.npmjs.com/package/request

我们如何区分deflateRawstream的deflatestream?

一些HTTP服务器发送deflate原始主体(没有zlib头)而不是实际的deflate主体。 请参阅以下讨论: 为什么真实世界的服务器更喜欢gzip而不是deflate编码? 是否有可能检测到它们并在Node.js中正确处理膨胀? 我的意思是除了尝试createInflate他们并捕获错误,然后再次尝试createInflateRaw 。

http进入nodejs

var http = require('http'); exports.get = function(){ var options = { host: 'http://stackoverflow.com/' }; http.get(options, function(res) { console.log("Got response: " + res.statusCode); }).on('error', function(e) { console.log("Got error: " + e.message); }); }; 给我错误Got error: getaddrinfo ENOTFOUND http://stackoverflow.com/ http://stackoverflow.com/:80我使用的文档; https://nodejs.org/docs/v0.5.2/api/http.html#request.url 可能是什么问题,我把端口号添加到选项中; var options = { host: 'http://stackoverflow.com/' port:443 //also port:8080, port:80, port: 8118 }; 但仍然没有解决办法。 是关于公司代理吗? […]

用多个字段表示app.get

app.get('/api/advancedSearch/:id/:page_no/:exact_phrase?/:exclude_words?' ,function (req,res) { //body }); 我试图创build一个app.get,如上所示,我对第一个几个字段没有问题,问题出现在“exact_phrase”和“exclude words”字段。 这些应该是列表,如果他们都通过,我没有问题得到他们。 造成问题的原因是,有时这些领域中的一个或两个可能不存在,我仍然需要得到它。 我似乎无法为此deviseapp.get。 有没有办法deviseapp.get或发送请求,以便我可以做到这一点?

将https请求从angular度发送到nodejs。 无法发送任何数据

所以首先我有我的angular应用程序: var app = angular.module('app', []); angular.module('app.controllers', []); app.config(function($httpProvider){ delete $httpProvider.defaults.headers.common['X-Requested-With']; $httpProvider.defaults.headers.common = {}; $httpProvider.defaults.headers.post = {}; $httpProvider.defaults.headers.put = {}; $httpProvider.defaults.headers.patch = {}; }); 这里是一个angular度控制器: angular.module('app').controller('loginController', ['$scope', '$http', function($scope, $http){ $http({ method: 'POST', url: 'https://xxx-xxx.c9users.io:xxxx/api/registerUser', headers: { 'Content-Type': 'application/json' }, data: { test: 'something' } }); }]); 然后是我的nodejs代码: var express = require('express'); var app = […]

在AngularJS下拉菜单

我在我的angular度应用程序中有两个下拉菜单。 当我在第一个下拉菜单中select一个选项时,我需要该选项来实现第二个下拉菜单。 例如:1st菜单将有一个状态消息列表。 当我select,比如说,“需要维护”时,会将第二个菜单更改为与维护相关的部门。 或者,如果我select状态“丢失”,则会将第二个菜单更改为与丢失状态相关的部门。 这是我的代码和设置: .controller('HomeCtrl', function($scope, $rootScope, $http, $ionicPlatform) { // This disables the user from being able to go back to the previous view $ionicPlatform.registerBackButtonAction(function (event) { event.preventDefault(); }, 100); // This function only gets called when the submit button is hit on the messaging screen. It posts to server for sending […]

你能发送来自另一台服务器的HTTP响应吗?

也许愚蠢的问题。 最近我一直在玩Node.js,就像设置服务器和发出请求是多么容易。我还没有尝试过,但想知道如何将数据从一个请求转发到另一个服务器,并且第二台服务器向客户端发送响应。 这可能吗? 即 CLIENTX – > SERVER A – > SERVER B – > CLIENT X 最令我困惑的是如何发送给同一个客户端? 这个信息应该出现在请求头部,虽然不是? 是否将这些信息转发给SERVER B? 我处于一种情况,我正在接受Node.js服务器上的请求,并希望将一些数据转发给我创build的Laravel API,并将响应发送给客户端表单。 欣赏你的答案, 马特