Tag: http headers

如何基于caching控制caching对node.js中传出请求的入站响应?

在我们的node.js应用程序中,我们向其他服务发出http请求,以获取满足传入请求所需的数据。 例如,当我们确定一个经过身份validation的用户的组织时,我们会向组织的服务部门寻求我们需要的详细信息。 为了提高性能,我们希望caching对这些传出请求的响应。 但是,到目前为止确定的库在客户端都是静态configuration的TTL。 我们希望我们的caching由响应收到的Cache-control和Expires头控制。 在那里处理这种types的任何好的caching库?

XMLHttpRequest无法加载:请求不通过访问控制检查

我正在尝试将数据发布到在http:// localhost:3000 /上运行的节点服务器。 这里是我的客户端AngularJS代码: (function() { 'use strict'; var app = angular.module('myApp'); function SuggestController ($scope, $http) { var onResponse = function(response){ $scope.responseMsg = response.data; console.log(data); }; var onError = function(err){ $scope.error = err; }; $scope.suggest = function(){ var new = $.param({ sS: $scope.Source, dD: $scope.Destination }); var config = { headers : { // 'Content-Type': […]

Angular2和Node:Preflight的响应具有无效的HTTP状态码403

我有以下方法为angular2中的标头与{"Content-Type": "application/json",'Authorization':this.authToken} public allJobsStageWidget1= (): Observable<WidgetModel[]> => { let widget1Url= this._configuration.ServerWithApiUrl + 'getAllJobsStagesCount'; return this._http.get(widget1Url,new RequestOptions({ headers: new Headers({"Content-Type": "application/json",'Authorization':this.authToken}) })) .map((response: Response) => {console.log(response.json());response.json() }) .catch(this.handleError); } 在我的节点应用程序中,完成以下工作: app.use(function(req, res, next) { res.header('Access-Control-Allow-Credentials', true); res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type,Authorization ,Accept'); next(); }); 当我发出一个GET请求,那么'XMLHttpRequest cannot load http://rest-0023:3000/api/getAllJobsStagesCount. Response for […]

在快递中不能set.header

这东西已经困扰了我好几天了,而且我快要疯了……我无法为set.header('Access-Control-Allow-Origin')或其他任何头文件。 我需要这个来访问一个远程API。 我已经下载了铬Cors扩展,并启用时,一切正常。 当我禁用时,我得到了美丽的错误:没有“访问控制允许来源”标题出现在请求的资源。 原因' http:// localhost:8080 '因此不被允许访问。 我已经尝试了一些事情,甚至Cors NPM模块,仍然是一样的。 这是我的代码: var express = require('express'); var app = express(); app.use('/dist', express.static(__dirname + '/dist')); app.use(function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); res.header('Access-Control-Allow-Headers', 'Content-Type'); next(); }); var port = process.env.PORT || 8080; app.get('*', function(req, res, next) { console.log(req.get('Access-Control-Allow-Origin')); res.sendFile(__dirname + '/dist/index.html'); }); app.listen(port); […]

节点js头从请求stripepd

我们正在使用request模块,我们提出请求的url在主机文件中是别名,但是看起来好像接收方收到了带有空头的请求。 如果请求被发送到一个不需要别名的url,那么这个头文件就会像预期的那样到达。 任何想法为什么标题可以被剥离? const options = { url, headers, body, rejectUnauthorized: false }; request.post(options, function(err, res, body) { if (err) { console.log(err) return; } console.log(body) return; });

PHP压缩JSON,保存到memcache … Node.js服务 – 正确的标题?

在PHP中,我正在做一些事情: $gzdata = gzencode(json_encode($data), 9); $mc->set("latest", $gzdata); 所以我从数据库拉我的关联数组,我把它变成JSON,Gzip它,并存储到memcache 在我的Node.js中,我读取了memcached条目并提供它(客户端是memcache客户端) client.get('latest', function(err, response) { if (err) { console.log("GET", err.type ); } else{ result.writeHead(200,{ "Content-Type": "application/json", "content-encoding":"gzip" }); result.end(response['latest']); } }); 我正进入(状态 内容编码错误 在页面上 您尝试查看的页面无法显示,因为它使用无效或不受支持的压缩forms。 我什至不能检查FB中的标题…任何想法我做错了什么?

如何安全地使用Passport与Node.js和MongoDB?

所以我得到了Passport与Node.js和MongoDB的会话pipe理,这当然方便地提供访问请求头中的user对象。 但是,至less对我而言,Passport将这个对象设置为MongoDB的整个帐户文档。 对于我创build的模式,这包括用户的一切 – 电子邮件,名称,哈希和盐渍密码等。所以我有两个关于这个问题。 首先,在服务器和客户端之间来回发送所有这些信息是否真的很安全? 当然,它是通过SSL发送的,密码被哈希和腌制,但所有的用户信息仍然在那里。 我的模式需求用户信息(不需要身份validation的个人信息)保存在不同的MongoDB文档中? 即使我这样做,哈希密码仍然会来回传递。 是否假设SSL防止数据被窃听? 这似乎是假设某人假设已经把所有发送到我的应用程序的头文件都吸走了,他们可以重新创build用户数据库并执行彩虹表攻击。 其次,在服务器端,我(天真的)一直在使用请求标头用户名元素( req.user.username )来确定哪个用户被连接和authentication。 但是,似乎如果用户只是将其标题更改为不同的用户名,我的代码将允许他们伪装成不同的用户。 那么我应该通过其他方式来validation请求的身份,而不是仅仅使用纯文本的用户名呢? 还是我完全不知道如何存储,生成和传递这些头,这实际上不是一个安全问题? 如果是这样的话 – 有人可以详细介绍一下如何从Passport中创build这些头文件吗?

Meteor包中的HTTP请求?

我试图拉元信息forms的一些网页使用httpmeteor包,拉这个信息。 如何使用HTTPmeteor包在网页中检索meta关键字和描述?

在Cloud9 IDE中获取用户的真实IP地址

在node.js + socket.io中,我使用这个代码来获取用户的IP地址: var clientIP = socket.handshake.headers['x-forwarded-for'] || socket.handshake.address.address; 但结果是错误的。 我console.log这些值,并得到以下结果: socket.handshake.address.address显然是内部IP(127.xxx) x-forwarded-for是cloud9的代理之一(107.23.232.64,54.236.78.114,107.23.123.140)。 所以显然是使用双重代理,其中一个代理层不提供'x-forwarded-for'头部,对吗? 使用cloud9绝对不可能获得真正的用户IP吗? 这对我的项目是至关重要的。

Range头是压缩或未压缩字节的大小(以字节为单位)?

我在node.js中实现了静态文件服务,以获得学习和乐趣。 假设我正在发送一个名为party-time.txt的文件,它是: 100 bytes uncompressed 70 bytes gzipped 如果用户请求Range: bytes=-10 ,这是对最后10个未压缩字节(例如91-100)的请求还是最后10个压缩字节(例如61-70)?