브라우저 앱에서 gRPC 사용
참고 항목
이 문서의 최신 버전은 아닙니다. 현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.
Important
이 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적, 또는 묵시적인 보증을 하지 않습니다.
현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.
작성자: James Newton-King
브라우저에서 gRPC 서비스를 직접 호출하는 것은 불가능합니다. gRPC는 HTTP/2 기능을 사용하며, 브라우저에서 gRPC 클라이언트를 지원하기 위해 웹 요청에 필요한 제어 수준을 제공하지 않습니다.
ASP.NET Core의 gRPC는 두 가지 브라우저 호환 솔루션인 gRPC-Web 및 gRPC JSON 코드 변환을 제공합니다.
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 웹 API를 모두 지원할 수 있습니다.
.NET은 gRPC 서비스에서 JSON 웹 API를 만들기 위한 기본 제공 지원을 제공합니다. 자세한 내용은 ASP.NET Core gRPC 앱에서 gRPC JSON 코드 변환을 참조 하세요.
참고 항목
gRPC JSON 코드 변환에는 .NET 7 이상이 필요합니다.
추가 리소스
ASP.NET Core