Articles of http

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,并将响应发送给客户端表单。 欣赏你的答案, 马特

为什么当我在IO操作上对它们进行基准testing时,PHP会比Node.js更好呢?

我正在使用PHP和Node.js上的apache基准testing工具,分别是端口80和端口8000。 下面的节点基准testing命令,在PHP上运行testing时交换端口: ab -n 100 -c 100 http://localhost:8000/ 我在程序中所做的只是读取一个10MB的文本文件,然后将其发送回客户端。 令我惊讶的是,PHP基准testing需要大约6秒钟,而Node.js则在13秒钟之后。 这是文本文件: https://github.com/jamesward/play-load-tests/blob/master/public/10mb.txt 这是每个代码: Node.js的 var http = require("http"); var fs = require("fs"); var s = http.createServer(function(req, res) { res.writeHead(200, {"content-type": "text/plain"}); fs.readFile("./10mb.txt", "utf8", function(err, data) { res.end(data); }); }); s.listen(8000); PHP <?php echo file_get_contents("./10mb.txt"); 我在节点代码中做错了什么? 否则我很困惑,Node的主要卖点之一是OI操作速度很快。 我错过了什么?

节点js中的请求响应周期如何与外部I / O一起工作

完整的node.js初学者在这里。 我在某处看到了这个“hello world”的例子 // Load the http module to create an http server. var http = require('http'); // Configure our HTTP server to respond with Hello World to all requests. var server = http.createServer(function (request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello World\n"); }); // Listen on port 8000, IP defaults to 127.0.0.1 server.listen(8000); // Put […]