1

根据https://grpc.io/blog/state-of-grpc-web/

目前不可能在浏览器中实现 HTTP/2 gRPC spec3,因为根本没有浏览器 API 对请求进行足够细粒度的控制。例如:没有办法强制使用 HTTP/2,即使有,浏览器也无法访问原始 HTTP/2 帧。

然而caniuse说大多数浏览器都有 http/2 实现。

在前端javascript中仍然无法使用纯grpc吗?如果是,为什么?

4

1 回答 1

2

正如 caniuse 页面所示,浏览器能够与 HTTP/2 服务器通信。但是 gRPC 协议不只是使用 HTTP/2 协议,它以特定的方式使用 HTTP/2。问题是浏览器不提供以 gRPC 规范要求的方式控制 HTTP/2 使用所必需的 JavaScript API。特别是,预告片是 gRPC 协议的重要组成部分,它们通常无法在浏览器 HTTP/2 API 中访问。

于 2021-01-07T23:58:21.113 回答