Tag: http

使用$ routeProvider是否节省networking带宽?

考虑这个$routeProviderconfiguration的navbar 并假定没有caching app.config(function($routeProvider) { $routeProvider .when('/', { templateUrl : 'pages/home.html', controller : 'mainController' }) .when('/about', { templateUrl : 'pages/about.html', controller : 'aboutController' }) .when('/contact', { templateUrl : 'pages/contact.html', controller : 'contactController' }); }); 我在网上阅读,单页应用程序的优势之一是networking带宽,因为它不需要每次切换页面时传输HTML标签。 但是,当我们有以上的情况navbar有家,关于联系,被路由到单独的页面,是不是每次都必须传输HTML标签? 它是否通过消除HTML标签传输来节省networking带宽?

HTTP2 – 如何具有类似WebSocket的function(Keep-Alive,EventSource等)

想知道如何在Node.js中设置客户端和服务器之间的持久连接。 持久连接应该能够从双方来回发送请求。 似乎需要有一个机制来描述每个请求,比如\r\n如果请求是JSON,但是不知道如果之前已经完成了什么最佳实践, 想知道如何networking套接字处理这一点。 Mozilla说Keep-Alive不应该用在生产中,所以想知道HTTP2是否仍然适用。 使用EventSource可以接收服务器事件,但是想知道是否有办法添加客户端事件发送到服务器。 最后,我希望有一个像WebSockets一样的双向通信的简单设置,但是我不确定HTTP2的最佳实践,以及是否应该使用WebSockets完成。 我宁愿尝试没有websockets这样做。 https://daniel.haxx.se/blog/2016/06/15/no-websockets-over-http2/

正文中的节点HTML

我写了一个简单的HTTP服务器,服务于一些HTML。 代码如下: var http = require('http'); http.createServer(function(req, res) { res.writeHeader(200, {"Content-Type": "text/html"}); var html = '<DOCTYPE!>' + ' <html>' + ' <head>' + ' <title>' + ' Test page' + ' </title>' + ' </head>' + ' <body>' + ' <p>' + ' This is a test page !' + ' </p>' + ' </body>' […]

node.js request.js为什么我的IP地址改变了?

只要做一个简单的GET请求whatismyip.org,我得到一个不同的IP每次。 如果它在我的浏览器中访问网站,它总是一样的。 这是怎么回事? 我只是在我的Windows 7机器上本地运行node.js。 我怎么可能使用不同的IP? request('http://www.whatsmyip.org/', function (error, response, body) { if (!error && response.statusCode == 200) { res.render('index', {content:body;}); } }); 我觉得http://www.whatsmyip.org知道这是一个自动化的请求,正在拖我。 的xD

Node.JS奇怪行为接收发布数据

我正在发送XML请求数据到我的node.js服务器。 服务器被设置为接受post,并且已经通过CURL运行testing而没有问题。 现在我试图通过来自多个REST客户端的POST请求,并通过Chrome浏览器中的一个名为Postman的插件获取相同的数据。 最终目标是在EXE文件启动时接收数据到服务器。 我遇到的问题是,XML数据似乎进来,停在1439个字符(总字符接近3900)。 然后它会收到完整的3900个字符。 问题是XMLparsing器将这看作是一个糟糕的XML文档,因为前1439个字符正在消除语法。 我继续testing,但不明白为什么发送了1439个字符,然后跟随了3900个字符。 此外,这似乎并不总是发生。 我已经从这些来源连续多次testing,这种行为似乎只是随机发生。 我正在使用的完整代码如下所示。 http.createServer(function (req, res) { if(req.method=='POST'){ var body=''; req.on('data', function (data) { body +=data; body = body.toString(); var xmlDoc = libxmljs.parseXml(body)); var status = xmlDoc.get('//Status').text(); var ticket = xmlDoc.get('//Incident_ID').text(); console.log(status + " " + ticket); }); req.on('end', function(){ }); } else if(req.method=='GET'){ var url_parts = […]

node.js中的socket.setTimeout()

我试图实现基于networking模块的HTTP服务器。 我需要实现保持活动,所以我打电话给sock.setKeepAlive(true) ,然后sock.setTimeout超时2秒后closures套接字。 这是我的代码: var server = net.createServer({ allowHalfOpen: false},socketListener); function start(port){ server.listen(port,'localhost'); } function socketListener(sock){ sock.setEncoding("utf8"); sock.setKeepAlive(true); sock.setTimeout(2000,function(){ sock.end("HTTP/1.1 200 OK\r\nConnection: close\r\n\r\n"); }); sock.on("data",responser.responserCreator(sock,httpParser,baseDir,stat)); } 但是,当我第一次打开浏览器和http://localhost:1234/profile.html它工作正常,但如果我在2秒后刷新它会引发exception – 错误:Socket.writeAfterFIN [写入](net.js:274:12) 如果我评论超时everthing正常工作。 我的代码有什么问题?

优化Node.js入站/出站连接

我有关于node.js入站/出站连接的问题。 让我们考虑一下我的情况或者我想达到的目的: 我有例如每秒X入站http请求。 对于每个请求,我创build出站https请求给一些第三方(他们回应我平均300毫秒)。 当我收到这个第三方的回复时,我认为这个请求会被处理。 让我们想象第三方有很多很多的服务器,可以并行pipe理请求。 对于每个请求我有几个mongoDB查询(这是快速)。 我使用快速框架。 在我的笔记本电脑(4核心和4 GB的RAM与Windows和很多其他程序可能会损害性能可能会损坏)我能够得到每秒150个请求,但只有40个被处理。 我不知道:这实际上是现实吗?理论上我不能在这个世界上有更多或者某个地方能够获得一些解决scheme/技巧来改善我的performance吗? 感谢您的任何build议。

Nodejs,如何复制nodejs中的几个文件,而不会崩溃

我试图用节点js复制几个文件。 这是我想要做的一个例子: var request = require('request'); va photos [{ 'url': 'http://xxxx.com/im1', 'name' : 'name1' }, { 'url': 'http://xxxx.com/im12', 'name' : 'name2' }, for (var i = 0; i < photos.length; i++) { request(photos[i].source).pipe(fs.createWriteStream(photos[i].name)); } 也许1000电话后,我有一个套接字挂出错误。 继@Timothy Strimplebuild议我决定使用asynchronous模块。 我的代码现在是这样的: async.whilst(function () { return !stop; }, function (callback) { console.log("get next 20 image"); JM.api('/' + album.id + […]

节点入门书 – 请求处理程序

正如标题所说,我有什么node.js命令提示说谎在requestHandlers.js文件中的问题。 我遵循Node Beginner Book中的指南,直到现在,这本书没有任何问题 – 或者说我的代码。 我有以下input: index.js: var server = require("./server"); var router = require("./router"); var requestHandlers = require("./requestHandlers"); var handle = {} handle["/"] = requestHandlers.start; handle["/start"] = requestHandlers.start; handle["/upload"] = requestHandlers.upload; server.start(router.route, handle); server.js: var http = require("http"); var url = require("url"); function start(route, handle) { function onRequest(request, response) { var pathname = […]

无法将节点请求发布到salesforce的web-to-lead

我们已经要求我们的客户与其销售人员进行整合。 但是,他们拒绝给我们一个oAuth标记。 他们提供的是一个Web到铅的oid 。 本质上,Web-to-Lead是一个简单的Web表单,它通过一个oid生成,将其与salesforce账户相关联。 但是,我无法使用curl,postman或node.js和请求模块获取其他任何信息以发布到salesforce。 我设置了一个沙箱来testing这个,因为他们抱怨说他们没有得到应用程序。 我也注意到,这些应用程序没有出现,但是如果我使用salesforce为我生成的实际表单,一切似乎都正常。 基本上我的代码就像这样: var request=require("request"); var form={ "oid":"xxxx", "first_name":"TEST", "last_name":"TEST", "email":"xxxx@gmail.com", "street":"xxx Some Road", "city":"somewhere", "state":"Wisconsin", "zip":"54944", "00No00000045JeV":"Internet", "00No00000045Jef":"American Driver Network", "00No00000045Jek":"Class A", "00No00000045Jep":"50", "00No00000045Jf4":"0", "00No00000045JfE":"0", "00No00000045JfJ":"0", "retURL":"http://" }; var options={ url:"", form:form }; request.post(options,function(err,resp,body){ //salesforce gives no useful response so do nothing }); 请求模块应该适当地设置我的标题。 销售队伍forms: <!– ———————————————————————- –> […]