确定本机Node.js中的请求协议

时间:2018-02-13 23:59:05

标签: node.js http request httprequest protocols

如何在本机Node.js中获取请求协议(httpshttps或其他内容?)

我为Express框架找到了很多这方面的文档,而不是本机Node的文档,这就是我使用的。

假设我有一个基本服务器:

var app = http.createServer(function(req, res){

    var url = req.url;
    console.log(url);

    var headers = req.headers;
    console.log(headers);

}).listen(8000);

..我向localhost:8000

发出请求

我得到了日志输出:

/   <--- the request url

{   
  host: 'localhost:8000',
  connection: 'keep-alive',
  'upgrade-insecure-requests': '1',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',
   accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
  'accept-encoding': 'gzip, deflate, br',
  'accept-language': 'en-US,en;q=0.9' 
}

但协议在哪里?

我知道我在本地运行服务器,但协议应该仍然是http

编辑:

对于上下文,我正在尝试设置http到https重定向。

如果有人请求https://example.com/foo,我会将其重定向到https://example.com/foo

0 个答案:

没有答案