5 参数 AJAX 请求 node.js
5-parameter AJAX request node.js
XMLHttpRequest
构造函数有一个 five-argument 版本,需要用户名和密码(我相信 jQuery 的 $.ajax
在后台使用它)。我一辈子都无法从 Joyent 文档中弄清楚,所以,记录请求 object 的每个角落和缝隙,以及 Necronomicon 如何在 Node 的 http
模块(或在它上面的任何中间件层中)。
大多数节点身份验证似乎都是基于使用 auth header 或 third-party 插件(例如 google、facebook)。这很好,但我仍然很好奇是否可以在 Node 中访问来自 5 参数 xhr 请求的用户名和密码。
我认为它不可用。为了测试,我 运行 一个最小的 node.js 服务器:
var http = require('http')
var server = http.createServer(function(req, res){
console.dir(req, { depth:10 })
})
server.listen({port:5000})
然后像这样发出一个 XHR 请求:
var xhr = new XMLHttpRequest()
xhr.open('GET', 'http://localhost:5000', true, 'mike', 'pass')
xhr.send()
输出大量信息 (found here),none 其中包含 mike
或 pass
用户名和密码。
如果我像这样使用 curl
发出请求,情况也是如此:
curl mike:pass@localhost:5000
XMLHttpRequest
构造函数有一个 five-argument 版本,需要用户名和密码(我相信 jQuery 的 $.ajax
在后台使用它)。我一辈子都无法从 Joyent 文档中弄清楚,所以,记录请求 object 的每个角落和缝隙,以及 Necronomicon 如何在 Node 的 http
模块(或在它上面的任何中间件层中)。
大多数节点身份验证似乎都是基于使用 auth header 或 third-party 插件(例如 google、facebook)。这很好,但我仍然很好奇是否可以在 Node 中访问来自 5 参数 xhr 请求的用户名和密码。
我认为它不可用。为了测试,我 运行 一个最小的 node.js 服务器:
var http = require('http')
var server = http.createServer(function(req, res){
console.dir(req, { depth:10 })
})
server.listen({port:5000})
然后像这样发出一个 XHR 请求:
var xhr = new XMLHttpRequest()
xhr.open('GET', 'http://localhost:5000', true, 'mike', 'pass')
xhr.send()
输出大量信息 (found here),none 其中包含 mike
或 pass
用户名和密码。
如果我像这样使用 curl
发出请求,情况也是如此:
curl mike:pass@localhost:5000