|
|
2025-8-17 17:42:11에 게시됨
|
|
|
|

요구사항: 클라이언트를 사용해 메타데이터를 전달할 때, ASP.NET Core 서버는 어떻게 메타데이터를 획득해야 하나요?
메타데이터 개요
메타데이터는 RPC와 관련된 정보를 클라이언트와 서버 간에 전달할 수 있도록 하는 우회 채널입니다.
gRPC 메타데이터는 초기 또는 마지막 gRPC 요청 또는 응답과 함께 전송되는 키-값 쌍 데이터입니다. 인증 자격 증명, 추적 정보, 사용자 지정 헤더 등 통화에 관한 추가 정보를 제공하는 데 사용됩니다.
gRPC 메타데이터는 HTTP/2 헤더를 사용하여 구현됩니다. 키는 ASCII 문자열이며, 값은 ASCII 문자열 또는 이진 데이터일 수 있습니다. 키는 대소문자 구분이 없으며, grpc- 접두사로 시작할 수 없으며, grpc- 접두사는 gRPC 자체에 의해 예약됩니다.
gRPC 메타데이터는 클라이언트와 서버 모두에서 송수신될 수 있습니다. 헤더는 클라이언트에서 서버로 초기 요청 데이터가 전송되기 전에, 마찬가지로, 서버에서 클라이언트로 초기 응답 데이터가 전송되기 전에 전송됩니다. 서버가 RPC를 끄면 테일은 전송됩니다.
gRPC 메타데이터는 다음과 같은 다양한 목적을 수행합니다:
인증: gRPC 메타데이터를 사용하여 서버에 인증 자격 증명을 전송할 수 있습니다. 이는 표준 HTTP 인증 헤더를 사용하여 OAuth2나 JWT와 같은 다양한 인증 방식을 구현하는 데 사용할 수 있습니다. 추적: gRPC 메타데이터를 이용해 추적 정보를 서버에 전송할 수 있습니다. 이는 분산 시스템에서 요청의 진행 상황을 추적하는 데 사용할 수 있습니다. 사용자 지정 헤더: gRPC 메타데이터를 사용하여 서버와 클라이언트로 사용자 지정 헤더를 전송할 수 있습니다. 이는 부하 분산, 속도 제한, 서버에서 클라이언트로 상세한 오류 정보를 제공하는 것과 같은 애플리케이션 특화 기능을 구현하는 데 사용할 수 있습니다. 내부 사용: gRPC는 HTTP/2 헤더와 꼬리를 사용하며, 이는 애플리케이션에서 지정한 메타데이터와 통합됩니다.
테스트
서버 측에서 새로운 미들웨어 파이프라인을 만들어 요청 헤더를 얻으면, 코드는 다음과 같습니다:
아래에 보이는 것처럼 우체국 배달부를 이용해 요청을 해보세요:
Postman을 사용하면 메타데이터 세트의 값이 서버 측에서 정상적으로 수신될 수 있음을 알 수 있습니다.
C# 콘솔을 사용해 메타데이터를 설정해 요청을 보내세요. 코드는 다음과 같습니다:
아래에 나와 있습니다:
C# 코드를 사용해 메타데이터 값을 설정하는 것도 서버 측에서 수신할 수 있습니다. gRPC 클라이언트 팩토리를 사용해 전역적으로 추가할 경우, 코드는 다음과 같습니다:
참조:
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다. |
이전의:Postman을 사용해 gRPC 서비스를 테스트(디버깅)다음:블록체인 합의 메커니즘: PoW, PoS, DPoS
|