ブラウザー アプリでの gRPC の使用
作成者: James Newton-King
ブラウザーから gRPC サービスを直接呼び出すことはできません。 gRPC では HTTP/2 の機能が使用され、gRPC クライアントをサポートするために Web 要求を通して必要とされるレベルの制御を提供するブラウザーがありません。
ASP.NET Core 上の gRPC には、gRPC-Web と gRPC JSON トランスコーディングの 2 つのブラウザー互換ソリューションが用意されています。
gRPC-Web
gRPC-Web を使うと、gRPC-Web クライアントと Protobuf を使用してブラウザー アプリで gRPC サービスを呼び出すことができます。
- 通常の gRPC と同様ですが、ワイヤプロトコルが若干異なっており、HTTP/1.1 やブラウザーと互換性があります。
- ブラウザー アプリで
.proto
ファイルから gRPC クライアントを生成することが要求されます。 - ブラウザー アプリで、バイナリ メッセージの高パフォーマンスで低ネットワークの使用を活用できます。
.NET には、gRPC-Web のサポートが組み込まれています。 詳細については、「ASP.NET Core gRPC アプリでの gRPC-Web」参照してください。
gRPC JSON コード変換
gRPC JSON コード変換を使用すると、JSON と RESTful API のように、ブラウザー アプリで gRPC サービスを呼び出すことができます。
- ブラウザー アプリで gRPC クライアントを生成する必要はありません。gRPC について知る必要もありません。
- RESTful API は、HTTP メタデータを使用して
.proto
ファイルに注釈を付けることによって、gRPC サービスから自動的に作成されます。 - アプリで gRPC と JSON の両方の Web API をサポートできるため、両方に個別のサービスを構築する手間を省くことができます。
.NET には、gRPC サービスから JSON Web API を作成するためのサポートが組み込まれています。 詳細については、「ASP.NET Core gRPC アプリでの gRPC JSON コード変換」を参照してください。
注意
gRPC JSON コード変換には .NET 7 以降が必要です。
その他のリソース
ASP.NET Core
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示