【问题标题】:How to implement and use HTTP/2 in Node.js如何在 Node.js 中实现和使用 HTTP/2
【发布时间】:2020-03-08 03:22:33
【问题描述】:

我有一个 node.js 应用程序。我使用 http 来创建服务器,如下所示:

...

   var http=require('http');

   var server=http.createServer(app);

...

这很完美。

然后我从 npm 实现了 http/2 模块,如下所示:

npm install http2

我现在有包裹。然后我将代码更改为:

var http2 = require('http2') ;
var server= http2.createServer(app);

但这不起作用。我从邮递员那里得到“无法得到任何回应”的错误。 为什么它不起作用,我该如何修复它并使用 http2?

编辑:我找到了 HTTP/2 文档。您可以在本文档中了解如何实现 HTTP/2、您应该为服务器端做什么、应该为客户端做什么以及有关 http2 的其他信息。我还发现要使用浏览器检查 http2,您需要在此文档中生成证书和密钥。 文档:

https://nodejs.org/api/http2.html#http2_server_side_example

【问题讨论】:

  • “然后我从 npm 实现了 http/2 模块”:不要! npmjs.com/package/http2 说“此包已被弃用 作者消息:请改用节点 9.0.0 或更高版本中的内置模块”
  • 您似乎根本没有遵循文档:nodejs.org/api/http2.html#http2_server_side_example
  • 你还没有定义app变量。
  • 不是我定义的。正常的http完美运行。但是http2不行。
  • “编辑:我搜索并找到了 HTTP/2 文档”——我在 21 小时前的评论中发布了那个确切的链接!

标签: javascript node.js http2


【解决方案1】:

【讨论】:

  • @MinelAydın — 因为the documentation says 浏览器不支持未加密的 HTTP/2
  • 那么如何使用http2呢?或者我怎样才能让它加密,我该怎么办?
  • @MinelAydın — 按照文档中的说明进行操作。
  • 我会在哪里写这个?要为此示例生成证书和密钥,请运行: openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' \ -keyout localhost-privkey.pem -out
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 2019-01-07
  • 2017-10-30
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
  • 2016-05-24
相关资源
最近更新 更多