Použití gRPC v prohlížečových aplikacích

Autor: James Newton-King

Není možné přímo volat službu gRPC z prohlížeče. gRPC používá funkce HTTP/2 a žádný prohlížeč neposkytuje úroveň kontroly nad webovými požadavky na podporu klienta gRPC.

GRPC na ASP.NET Core nabízí dvě řešení kompatibilní s prohlížečem, gRPC-Web a gRPC JSON transkódování.

gRPC-Web

gRPC-Web umožňuje aplikacím prohlížeče volat služby gRPC pomocí klienta gRPC-Web a Protobuf.

  • Podobá se normálnímu gRPC, ale má trochu jiný protokol wire-protocol, díky kterému je kompatibilní s HTTP/1.1 a prohlížeči.
  • Vyžaduje, aby aplikace prohlížeče vygenerovala klienta gRPC ze .proto souboru.
  • Umožňuje aplikacím v prohlížeči těžit z vysoce výkonného a nízkého využití sítě binárních zpráv.

.NET má integrovanou podporu gRPC-Web. Další informace najdete v tématu gRPC-Web v aplikacích ASP.NET Core gRPC.

gRPC JSON transkódování

Transkódování gRPC JSON umožňuje aplikacím v prohlížeči volat služby gRPC, jako by šlo RESTo ful rozhraní API s JSON.

  • Aplikace prohlížeče nemusí generovat klienta gRPC ani nic vědět o gRPC.
  • RESTful API se automaticky vytvoří ze služeb gRPC tak, že soubor označí .proto metadaty HTTP.
  • Umožňuje aplikaci podporovat rozhraní gRPC i JSON web API bez duplikování úsilí o vytvoření samostatných služeb pro oba.

.NET má integrovanou podporu pro vytváření JSwebových rozhraní API na webu ze služeb gRPC. Další informace najdete v tématu gRPC JSON transkódování v aplikacích ASP.NET Core gRPC.

Poznámka

Transkódování gRPC JSON vyžaduje .NET 7 nebo novější.

Další prostředky