首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

即使浏览器支持http2,我也需要grpc-web库吗?

即使浏览器支持HTTP/2,使用gRPC-Web库仍然是有必要的。下面是完善且全面的答案:

概念: gRPC-Web是一个用于在浏览器中使用gRPC的开源库。它允许开发人员在Web应用程序中直接使用gRPC,而无需进行任何额外的配置或代理。

分类: gRPC-Web可以被归类为一个用于在浏览器中进行远程过程调用(RPC)的工具。

优势:

  1. 跨平台兼容性:gRPC-Web允许在浏览器中直接使用gRPC,而无需进行任何额外的配置或代理。这使得开发人员可以在不同的平台上使用相同的gRPC代码,从而提高了代码的可重用性和开发效率。
  2. 高性能:gRPC-Web利用了HTTP/2协议的优势,通过多路复用、头部压缩和二进制传输等特性,提供了比传统的RESTful API更高效的网络通信性能。
  3. 强类型约定:gRPC-Web使用Protocol Buffers作为接口定义语言,提供了强类型约定,使得开发人员可以更容易地定义和理解API接口,减少了出错的可能性。

应用场景: gRPC-Web适用于需要在浏览器中进行远程过程调用的场景,特别是在需要高性能、强类型约定和跨平台兼容性的情况下。例如,当您的Web应用程序需要与后端服务器进行实时数据交互或执行复杂的计算时,gRPC-Web可以提供更好的性能和开发体验。

推荐的腾讯云相关产品和产品介绍链接地址: 腾讯云提供了一系列与云计算相关的产品和服务,其中包括与gRPC-Web相关的产品。以下是一些推荐的腾讯云产品和产品介绍链接地址:

  1. 腾讯云容器服务(Tencent Kubernetes Engine,TKE):TKE是腾讯云提供的一种高度可扩展的容器管理服务,可用于部署和管理使用gRPC-Web的容器化应用程序。了解更多:https://cloud.tencent.com/product/tke
  2. 腾讯云API网关(API Gateway):API网关是腾讯云提供的一种用于构建、发布、维护和监控API的托管服务。它可以与gRPC-Web一起使用,将gRPC接口暴露为RESTful API,以便在浏览器中使用。了解更多:https://cloud.tencent.com/product/apigateway
  3. 腾讯云CDN(Content Delivery Network):CDN是腾讯云提供的一种全球分布式加速服务,可用于加速静态资源的传输。当使用gRPC-Web时,CDN可以提供更快的网络传输速度和更好的用户体验。了解更多:https://cloud.tencent.com/product/cdn

总结: 即使浏览器支持HTTP/2,使用gRPC-Web库仍然是有必要的。gRPC-Web提供了跨平台兼容性、高性能和强类型约定等优势,适用于需要在浏览器中进行远程过程调用的场景。腾讯云提供了一系列与云计算相关的产品和服务,其中包括与gRPC-Web相关的产品,如腾讯云容器服务、API网关和CDN等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浏览器引入gRPC的现况

然而,随着gRPC-Web的发布,gRPC有望成为前端开发者工具箱中的有价值补充。 在这篇文章中,将描述gRPC在浏览器中的一些历史,探索当前的状态,并分享对未来的一些看法。...例如:没有办法强制使用HTTP/2,即使有,也无法在浏览器中访问原始HTTP/2帧。gRPC-Web规范从HTTP/2规范的角度出发,然后定义差异。...还有一个Go代理可用,既可作为导入现有Go gRPC服务器的软件包(11),可作为独立代理,将任意gRPC服务器暴露给gRPC-Web前端(12)。...Google的gRPC-Web客户端(13)使用Google Closure(14)以JavaScript实现,可以在npm上以grpc-web(15)获得。...但是,gRPC-Web规范并未强制要求任何客户端或双向流支持,只是在浏览器中实现WHATWG Streams(18)后才会实现。

2.1K60

gRPC-Web迈向GA

gRPC-Web迈向GA 作者:Luc Perkins 代表云原生计算基金会,很高兴地宣布gRPC-Web的GA版本,这是一个JavaScript客户端,使Web应用程序能够直接与后端gRPC服务通信...轻松生成客户端 - 使用gRPC-Web,与“外部”世界交互的服务器,即将后端堆栈连接到互联网的隔膜,现在是gRPC服务器而不是HTTP服务器,这意味着您的所有服务都是客户端可以是gRPC。...需要Ruby,Python,Java和其他4种语言的客户端?您不再需要为所有这些客户端编写HTTP客户端。 一个gRPC-Web示例 上一节介绍了gRPC-Web在大规模应用中的一些高级优势。...但我们希望看到这些框架能够支持它,因为每个框架都会从gRPC中受益匪浅。 特定于语言的代理支持 - 从GA版本开始,Envoy 是gRPC-Web的默认代理,通过特殊模块提供支持。...但我们很乐意看到特定语言的进程内代理的开发。进程内代理消除了对特殊代理的需求 - 例如Envoy和nginx - 并且使得使用gRPC-Web变得更加容易。 我们很乐意收到社区的功能请求。

1K30
  • 【译】gRPC vs HTTP APIs

    gRPC的缺点 有限的浏览器支持 gRPC具有出色的跨平台支持!如今,gRPC已经有了多种编程语言的实现。但是,您仍然无法直接从浏览器中调用gRPC服务。...gRPC大量使用了HTTP/2的功能,但却没有浏览器提供支持gRPC客户端的Web请求所需的控制级别。例如,浏览器不允许调用者要求使用HTTP/2,或提供对HTTP/2协议之下的帧的访问。   ...gRPC-Web是gRPC团队的另一项技术,可在浏览器中提供有限的gRPC支持。...gRPC-Web由两部分组成:一个支持所有现代浏览器的JavaScript客户端,以及服务器上的一个gRPC-Web代理。gRPC-Web客户端调用代理,代理将gRPC请求转发到gRPC服务器。   ...gRPC-Web并非支持所有gRPC的功能。例如,它不支持客户端和双向流,并且对服务器流的支持很有限。 不可读   使用JSON的HTTP API请求以文本形式发送,并且适合利于阅读和创建。

    2K20

    Envoy和gRPC-Web:REST的鲜新替代方案

    个人而言,自从第一次在 Improbable engineering的博客上看到gRPC-Web之后,就对它产生了浓厚的兴趣。...这意味着不需要HTTP状态码,不需要JSON SerDe,需要HTTP服务器本身的部署和管理负担。 在右边的面板中,你可以看到新的gRPC-Web替代方案。...对于gRPC-Web,客户端调用仍然需要转换为对gRPC友好的调用,但是这个角色现在由Envoy来填补,Envoy具有对gRPC-Web的内置支持,并作为其默认的服务网关。...对于gRPC-Web,客户端调用仍然需要转换为对gRPC友好的调用,但是这个角色现在由Envoy来填补,Envoy具有对gRPC-Web的内置支持,并作为其默认的服务网关。...只有几个小小的区别: 处理gRPC-Web客户机请求(JavaScript自动处理这些头)需要一些非典型的头文件——x-grpc-web、grpc-status和grpc-message。

    2.7K20

    HTTP 2 的新特性你 get 了吗?

    你说咱们现在的网络带宽这么大,这不浪费?http2就不一样了,不管多少请求,只要有,就往连接里面扔好了,这能明显降低一个页面加载的时间。 HTTP2多路复用怎么做到的?...于是HTTP2搞了个HPACK压缩来压缩头部,减少报文大小(调试这样的协议将需要curl这样的工具,要进一步地分析网络数据流需要类似Wireshark的http2解析器)。...服务器推送需要客户端显式的允许服务器提供该功能。但即使如此,客户端依然能自主选择是否需要中断该推送的流。如果不需要的话,客户端可以通过发送一个RST_STREAM帧来中止。...最后安利一下HTTP2 + SSL吧,貌似目前浏览器只有在服务器支持http2并且使用了SSL的时候才会使用http2协议。总结一下为什么HTTP2能去掉SSL在HTTP1.x上的开销?...但是有时间还会再写个nginx如何部署http2,以及做些实验测试http2的性能。

    4.6K160

    ASP.NET Core 使用 gRPC 初探

    问题:既然是server/client模型,那么我们直接用restful api不是可以满足,为什么还需要RPC呢? 这里简单说明下优缺点和比较,说说到底使用gRPC有什么好处。...有时我们的服务需要传递大量的数据,而又不希望影响到我们的性能,这个时候可以考虑gRPC服务,因为通过protobuf我们可以将数据压缩编码转化为二进制格式,通常传递的数据量要小得多,而且通过http2...并不是十全十美的 任何开发工具或者项目框架都不是十全十美的,就算是K8s、微服务或者DDD这么火热的技术并不是无脑就上的,gRPC框架也有一定的弊端,或者至少是某些场景下是不适合的: 1、浏览器可访问的...浏览器不完全支持gRPC。...虽然gRPC-Web可以提供浏览器支持,但是它有局限性,引入了服务器代理 2、广播实时通信 gRPC支持通过流进行实时通信,但不存在向已注册连接广播消息的概念 3、进程间通信 进程必须承载HTTP/2才能接受传入的

    1.5K20

    WEB加速,协议先行 ( 下)

    比如我们申请了一张有效期一年的证书,但不幸的是,申请下来的第一个月,私钥被内部人员泄露了,或者CA本身的数据被黑客攻击了,我们需要主动撤销这张证书的信任关系。...[1499831161330_312_1499831161531.jpg] 前面提到了很多HTTP2的特性,性能很强大,那HTTP2是未来?...或者更准确地说,HTTP2是下一个十年,最有性能优势,最具有统治力的WEB协议? 可以说是。...比如需要TCP三次握手才能建立连接,就算是有了TFO,需要操作系统才能支持,有许多系统目前支持TFO。...以上种种,影响了HTTP2的性能,所以从这个角度来看,可以说HTTP2并不是未来最有性能优势的协议,那什么才是呢?觉得最有竞争力的一个协议就是QUIC。

    1.9K30

    TVP思享 | 四个全新维度,极限优化HTTP性能

    这样,即使还不需要极致方法去解决当前的性能瓶颈,会知道优化方向在哪,当需求来临时,能够到Google上定向查阅资料。...比如,当浏览器需要缩略图时,就没有必要浪费带宽传输高清图片。而高清视频做过有损压缩后,在肉眼无法分清时,已经被压缩了上千倍。这是因为,声音、视频都可以做增量压缩。还记得曾经的VCD?...比如,当浏览器需要缩略图时,就没有必要浪费带宽传输高清图片。而高清视频做过有损压缩后,在肉眼无法分清时,已经被压缩了上千倍。这是因为,声音、视频都可以做增量压缩。还记得曾经的VCD?...特意让的个人站点www.taohui.pub同时支持HTTP1和HTTP2,下图是连接视角上HTTP2和HTTP1的区别。...在红绿色这3个stream并发传输时,TCP层仍然会串行化,假设红色的stream在最先发送的,如果红色报文丢失,那么即使接收端已经收到了完整的蓝、绿stream,TCP不会把它交给HTTP2,因为TCP

    2.1K561

    HTTP2即未来

    前面一个资源内容超级多,并且都是一次性加载完,即使后面有更重要的资源,需要进行等待. 但在,H2中就没有这样的限制了. 他直接会将不同的资源,分拆为细小的二进制帧来进行传输. ?...根据 HTTP2 官方的解释说, 俺这样的安排其实很有深意的,你知道为什么会把Length放在开头?...HTTP2 传输过程 HTTP2 同样是建立在 TCP 连接上的, 他同样需要发送请求,并且获得响应. 那他第一次发送的内容到底是什么呢? 是资源请求? HTML? JS ? CSS ?...所以, 这就要求, HTTP2 的成功实践, 不仅仅 server 支持, 你的浏览器必须支持才行. 不过,就目前来说, 已经很不错了: can i use ?...在 Server 端, 支持 http2 其实,要求很简单: nginx 版本 >1.10 openssl >1.0.2h 即可.

    73830

    优化 Golang 分布式行情推送的性能瓶颈

    架构图 push-gateway是推送的网关,有这么几个功能:第一点是为了做鉴权;第二点是为了做接入多协议,我们这里实现了websocket, grpc, grpc-web,sse的支持;第三点是为了实现策略调度及亲和绑定等...对于channel底层来说,需要goready等待channel的goroutine,推送到runq里。 下面是写的benchmark[2],可以对比串行和并发的耗时对比。...Golang时间轮的代码已经推到github[3]了,时间轮很多方法都兼容了golang time原生。有兴趣的可以看下。...问题五:提高grpc的吞吐性能 grpc是基于http2协议来实现的,http2本身实现流的多路复用。通常来说,内网的两个节点使用单连接就可以跑满网络带宽,无性能问题。...在golang grpc streaming的实现里,每个streaming请求都需要一个协程去等待事件。所以,共享stream通道能减少协程的数量。

    86950

    是如何让公司后台管理系统焕然一新的(上) -性能优化

    写在前面 马上到了金三银四的时间,很多公司开启了今年第一轮招聘的热潮,虽说今年是互联网的寒冬,但是只要对技术始终抱有热情以及有过硬的实力,即使是寒冬不会阻挠你前进的步伐。...tcp连接中并发多个请求没有限制,在一些网络较差的环境开启http2性能提升尤为明显 这里极力推荐在支持https协议的服务器中使用http2协议,可以通过web服务器Nginx配置,或是直接让服务器支持...使用svg图标 相对于用一张图片来表示图标,svg拥有更好的图片质量,体积更小,并且不需要开启额外的http请求,svg是一个未来的趋势,阿里的图标iconfont支持导出svg格式的图标,但是在项目中需要封装一个支持...但是我们仍可以在支持webp图片的浏览器中使用它,而在不支持浏览器提供png图片 ?...如果浏览器支持picture标签,会使用底部的img标签,同样会生成一个png图片 picture标签的浏览器支持率,相对于webp要好很多(注意底部的img标签无论如何都要有,否则就算支持webp

    2.7K20

    nodejs环境下http2初尝试

    对Alt-Svc的支持允许了给定资源的位置和资源鉴定,允许了更智能的CDN缓冲机制。 6. Client-Hints 的引入允许浏览器或者客户端来主动交流它的需求,或者是硬件约束的信息给服务端。...nodejs应用HTTP2协议 参考了一个外国程序员和一个中国程序员的http2方案,然后对源码进行了调整,主要目的在于体验一把http2,没有很深的知识。...-save http2 2、生成ssl证书 比较懒,就没有自己生成,用别人生成好的证书来测试。...5、关键点2 html文件  确保你的浏览器支持fetch,因为没有用第三方支持,for循环的作用是客户端向服务器发起100个请求,让我们更加直观的看到http2请求多个资源的情况。...,头部压缩需要抓包才能分析出来,还有服务端推送等功能,在这里没有做测试,如果你想体验一把http2,下载源码安装好插件就能用了,同时得注意你的开发环境是否支持

    1.7K20

    原来你是这样的http2

    Nghttp2是一个完整的http2协议实现的组件。作者参与过spdy实现。目前nghttp2被很多知名软件作为h2协议实现使用。另外nghttp2自带了h2协议的分析工具。...第六话、雕栏玉砌 H2怎么部署呢,目前主流服务端像nginx、apache都已经支持http2,主流的客户端curl和各种浏览器(包括移动端safari和chrome-android)基本支持http2...代理服务器如ATS、Varnish,Akamai、腾讯云等CDN服务支持http2。那么怎么把一套网站部署到h2。或者说部署h2网站和之前h1网站有什么不一样?...对于h2服务器的要求是h2必须了解如何设置流的优先级,h2服务器需要支持server push。h2客户端需要尽量多的发送请求。...http1.x做的优化比如说图片资源文件不使用cookie来减少请求大小,http2的header压缩功能减少了这种影响。即使不做这种优化亦可。

    2.5K131

    轻松让你的nginx服务器支持HTTP2协议

    尽管HTTP2并不要求使用加密,但是对于现代浏览器来说如Google Chrome 和 Mozilla Firefox默认HTTP2和HTTPS是一起使用的,所以如果你想配置HTTP2的话,还是需要同时配置...servers中新建一个www.flydean.com.conf的文件作为今天要开启HTTP2支持的域名。...因为HTTP2需要开启SSL支持,所以我们这里将其修改为443,并且加上http2支持如下所示: listen 443 ssl http2; server_name...添加SSL支持 要想添加SSL支持需要添加证书,一种方式是购买或者在网上有一些免费的SSL证书可用,如果只是在测试环境中的话,还可以生成自签名证书。 这里我们介绍一下如何生的自签名证书。...这里即使是使用了SSL,为了保证安全,我们还可以使用一项叫做完美的向前保密的技术,这里需要生成Diffie-Hellman group: openssl dhparam -out dhparam.pem

    1.1K10

    HAProxy、Nginx 配置 HTTP2 完整指南

    它允许服务器提前推送请求到客户端的缓存(目前Ngnix不支持这个特性) 它使用新的ALPN扩展,那将允许更快地加密连接。这个加密协议在初始化连接的阶段是可用的。 今天可以使用它? 是的,你可以。...正如你所看到的在Can I Use上的服务那样,所有现代浏览器现在都支持HTTP/2,这里包括IE11和Edge。唯一的例外是移动端的Opera Mini和Android浏览器支持它。...遵照的是HAProxy官方的README。但可笑的是,最终还是采用了其他的方式……并且要非常足智多谋。你会常常去读这些冗长且乏味的README文件?...这样的话浏览器即使支持HTTP/2,可以浏览我们的网站。...没有什么理由让你再等下去了,主流浏览器都已经支持它了。而且即使回迁到HTTP/1.1上你仍然是安全的。 如果你认为在这里漏写了什么,或者还有什么可以改进的,请在下面留言评论。

    2.1K10
    领券