awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
improbable-eng avatar

improbable-eng/grpc-web

0
View on GitHub↗
4,470 星标·449 分支·TypeScript·Apache-2.0·8 次浏览

Grpc Web

grpc-web is a translation layer and proxy system that enables web browsers to communicate with gRPC backend services. It consists of a gRPC Web Proxy that converts browser-based HTTP and WebSocket requests into standard gRPC calls, along with a TypeScript gRPC client for making strongly-typed remote procedure calls from browsers or Node.js environments.

The project features a bidirectional streaming bridge that utilizes WebSockets to bypass browser limitations, allowing for full-duplex communication and client-side data streaming. It includes a protocol buffer code generator that parses schema files to produce typed JavaScript and TypeScript request and response classes.

The system covers a broad range of capabilities including transport selection, CORS management to restrict approved origins, and secure backend connectivity via TLS encryption. It also provides proxy traffic monitoring to track requests and connections through metrics and debug endpoints.

Features

  • gRPC-Web Bridging - Implements a translation layer that converts browser-based gRPC-Web requests into standard gRPC server requests.
  • Protocol Buffer Generators - Parses .proto files to generate typed JavaScript and TypeScript request and response classes.
  • Schema-Based Code Generators - Parses Protocol Buffer schema files to generate typed request and response classes.
  • TypeScript Stub Typings - Generates type-safe TypeScript declarations for gRPC client code in the browser.
  • gRPC Code Generators - Automatically generates JavaScript and TypeScript client classes from Protocol Buffer service definitions.
  • gRPC Implementations - Implements the translation of web requests into standard gRPC calls to allow browser-backend communication.
  • HTTP-to-gRPC Transcoding - Converts browser-compatible HTTP requests into standard gRPC calls to bridge web clients and backends.
  • Browser gRPC Clients - Connects web applications to gRPC backends by translating RPCs into browser-compatible HTTP protocols.
  • gRPC-Web Clients - Provides client libraries that implement the gRPC-Web protocol for making requests from web browsers.
  • Secure Proxy-to-Backend Connectivity - Establishes encrypted connections from the proxy to backend services using plaintext or TLS with custom certificates.
  • Bidirectional WebSocket Streaming - Leverages WebSockets to enable full-duplex communication and bidirectional data streaming between browsers and servers.
  • Server-Side Streaming - Enables the receipt of multiple response messages from a server for a single client request.
  • WebSocket Transports - Uses the native WebSocket API to enable client-streaming and bidirectional data exchange.
  • CORS Header Management - Manages allowed origins and CORS headers to control which web domains can access the proxy.
  • Node.js Clients - Extends gRPC-Web communication to Node.js environments using specialized server-side transports.
  • Node.js Integration - Executes gRPC client logic within a server-side JavaScript environment using specialized transport modules.
  • Language Specific Libraries - Implementation of gRPC for web browsers using Go and TypeScript.
  • Language Specific Tools - Implementation of gRPC-web for Go and TypeScript environments.

Star 历史

improbable-eng/grpc-web 的 Star 历史图表improbable-eng/grpc-web 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Grpc Web 的开源替代方案

相似的开源项目,按与 Grpc Web 的功能重合度排序。
  • grpc/grpc-webgrpc 的头像

    grpc/grpc-web

    9,229在 GitHub 上查看↗

    gRPC-Web is a JavaScript client library that enables browser applications to call gRPC services through an HTTP proxy, using Protocol Buffers for serialization. It provides a browser-based gRPC client that supports unary, server-streaming, and bidirectional streaming RPCs, along with a code generator that produces JavaScript and TypeScript client stubs from .proto service definitions. The library includes an interceptor framework for attaching cross-cutting logic like authentication and retries to client calls, and supports setting Unix timestamp deadlines on RPCs for server-side timeout enfo

    JavaScriptgrpcjavascriptweb
    在 GitHub 上查看↗9,229
  • fullstorydev/grpcuifullstorydev 的头像

    fullstorydev/grpcui

    5,907在 GitHub 上查看↗

    grpcui is a browser-based interactive web interface and API client for executing remote procedure calls to gRPC servers. It functions as an HTTP to gRPC gateway that translates JSON payloads into binary protobuf messages, allowing users to trigger network requests and inspect responses through a visual web interface. The tool provides schema browsing and discovery capabilities by querying server reflection or loading local protobuf descriptor files to identify available services and method signatures. It uses these definitions to automatically generate dynamic input forms for constructing req

    JavaScript
    在 GitHub 上查看↗5,907
  • grpc/grpc-rustgrpc 的头像

    grpc/grpc-rust

    12,338在 GitHub 上查看↗

    grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and servers. It provides an asynchronous communication stack and a protocol buffers implementation for encoding, decoding, and generating type-safe code from service definitions. The project enables the implementation of unary and bi-directional data streaming over the HTTP/2 protocol. It includes specialized support for gRPC-Web integration, allowing browser-based clients to communicate with services through protocol translation. The infrastructure covers a broad range of distr

    Rustasyncgrpcproto
    在 GitHub 上查看↗12,338
  • line/armerialine 的头像

    line/armeria

    5,115在 GitHub 上查看↗

    Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions as a multi-protocol RPC server capable of exposing gRPC, Thrift, and REST services on a single unified port. The project is distinguished by its ability to run diverse communication protocols simultaneously and its integrated RPC debugging web console, which allows for the discovery and invocation of remote procedure calls via JSON. It also includes a gRPC to JSON transcoder to enable web client compatibility with Protobuf services. The framework provides a comprehensive sui

    Java
    在 GitHub 上查看↗5,115
查看 Grpc Web 的所有 30 个替代方案→

常见问题解答

improbable-eng/grpc-web 是做什么的?

grpc-web is a translation layer and proxy system that enables web browsers to communicate with gRPC backend services. It consists of a gRPC Web Proxy that converts browser-based HTTP and WebSocket requests into standard gRPC calls, along with a TypeScript gRPC client for making strongly-typed remote procedure calls from browsers or Node.js environments.

improbable-eng/grpc-web 的主要功能有哪些?

improbable-eng/grpc-web 的主要功能包括:gRPC-Web Bridging, Protocol Buffer Generators, Schema-Based Code Generators, TypeScript Stub Typings, gRPC Code Generators, gRPC Implementations, HTTP-to-gRPC Transcoding, Browser gRPC Clients。

improbable-eng/grpc-web 有哪些开源替代品?

improbable-eng/grpc-web 的开源替代品包括: grpc/grpc-web — gRPC-Web is a JavaScript client library that enables browser applications to call gRPC services through an HTTP proxy,… line/armeria — Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions… grpc/grpc-rust — grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and… fullstorydev/grpcui — grpcui is a browser-based interactive web interface and API client for executing remote procedure calls to gRPC… grpc/grpc-dotnet — This project is a .NET implementation of the gRPC framework, providing a system for executing functions on remote… sofastack/sofa-rpc — Sofa-rpc is a high-performance remote procedure call framework designed for building distributed Java applications. It…