首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NodeJS的"https“包会使"http”变得多余吗?

NodeJS的"https“包会使"http”变得多余吗?
EN

Stack Overflow用户
提问于 2021-02-24 14:43:39
回答 1查看 150关注 0票数 0

几年前,当我学习NodeJS时,“http”模块已经被引入了。但我认为,从安全性和其他功能的角度来看,2021年它并不是最好的本机模块。第一个最受关注的是https

我知道HTTPS协议是2020年网络开发的关键,但是https包是否完全替代了http模块,如果在某个项目中没有https域,它会起作用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-24 16:04:58

但是,https包是否完全替代了http,如果在特定项目中没有https域可用,它会起作用吗?

https并不能替代http,因为https特别希望在HTTPS协议下进行通信。

代码语言:javascript
运行
复制
const req = require('https').request('http://www.example.com');
代码语言:javascript
运行
复制
TypeError [ERR_INVALID_PROTOCOL]: Protocol "http:" not supported. Expected "https:"
    at new ClientRequest (_http_client.js:152:11)
    at Object.request (https.js:314:10)
    at repl:1:17
    at Script.runInThisContext (vm.js:120:20)
    at REPLServer.defaultEval (repl.js:433:29)
    at bound (domain.js:426:14)
    at REPLServer.runBound [as eval] (domain.js:439:12)
    at REPLServer.onLine (repl.js:760:10)
    at REPLServer.emit (events.js:327:22)
    at REPLServer.EventEmitter.emit (domain.js:482:12) {
  code: 'ERR_INVALID_PROTOCOL'
}

是否有兴趣使https模块具有足够的灵活性,从而也可以使用HTTP (目的是使http模块冗余),而不管其安全性影响如何,这是Node.js的意见和最终设计决定的问题,但似乎太不可能了。对Node.js标准库的大量更改将影响到JavaScript生态系统的大部分,即使有了这样的更改,这些项目也不会如此快地依赖于http

在实践中,最好使用多个用户友好的HTTP客户端库中的一个,其中大多数是自动处理两个协议的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66353142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档