다음을 통해 공유


브라우저 앱에서 gRPC 사용

참고 항목

이 문서의 최신 버전은 아닙니다. 현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.

Warning

이 버전의 ASP.NET Core는 더 이상 지원되지 않습니다. 자세한 내용은 .NET 및 .NET Core 지원 정책을 참조 하세요. 현재 릴리스는 이 문서의 .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 이상이 필요합니다.

추가 리소스