İçeriğe geç

gRPC / gRPC-Web Frame Inspector

Standart gRPC, gRPC-Web binary ve gRPC-Web text stream’lerini decode edin. Frame header, message length, compression flag, trailer, status ve embedded Protobuf payload’larını inceleyin.

gRPC veya gRPC-Web message stream’ini inceleyin

Frame, desteklenen compression, trailer ve olası Protobuf payload’ları browser worker içinde decode edilir. Endpoint’e bağlanılmaz ve request yeniden gönderilmez.

Compression algoritması frame içinde değil, grpc-encoding HTTP header’ında yer alır. Yalnızca yakalanan header gzip veya deflate diyorsa ilgili seçeneği kullanın.

gRPC stream detayları

Frame sınırları, compression flag, message length, trailer, gRPC status ve olası Protobuf field’ları burada gösterilir.

Transport framing ile message byte’larını ayırın

DecodeLens her frame header ve payload’ı kaynak offset ile eşleştirir, grpc-encoding değerini harici metadata olarak ele alır, gRPC-Web trailer’larını parse eder ve eksiksiz data payload’larını servise bağlanmadan Protobuf Wire Decoder’a aktarır.

Framing ve protocol sınırları

  • Standart gRPC frame bir byte compression flag ve dört byte big-endian message length kullanır; gRPC-Web ayrıca response trailer’larını body frame olarak taşır.
  • gRPC-Web text bağımsız padding içeren Base64 chunk’ları barındırabilir. Inspector, frame sınırlarını parse etmeden önce decode edilen chunk’ları birleştirir.
  • Açıkça seçildiğinde gzip ve deflate message decompression desteklenir. Snappy ve custom grpc-encoding değerleri decode edilmez.
  • Yapısal olarak geçerli payload schema-less Protobuf decoder’a aktarılır; field adı ve kesin type için eşleşen .proto schema gerekir.
  • Araç HTTP/2 frame, HPACK, network capture, TLS, service reflection veya remote schema parse etmez ve RPC’yi yeniden göndermez.

Aynı veriyi decode etmek, dönüştürmek, incelemek veya doğrulamak için ilgili araçlarla devam edin.

DevTools’tan kopyalanan gRPC-Web response’u inceleyin

Base64 response body’yi yapıştırın, compressed bit açıksa grpc-encoding header değerini seçin; ardından her data frame’i, decode edilen Protobuf field’larını ve son grpc-status trailer’ını inceleyin.

gRPC-Web text

AAAAAB4IlgESCkRlY29kZUxlbnM…

Frame ve trailer’lar

Data frame · 30 byte · olası Protobuf
Trailer frame · grpc-status 0 · OK

gRPC / gRPC-Web Frame Inspector hakkında sık sorulanlar

gRPC mesajının ilk beş byte’ı nedir?

İlk byte message bazlı compression flag, sonraki dört byte ise unsigned big-endian payload length değeridir. Hemen ardından belirtilen sayıda message byte’ı gelir.

gRPC-Web trailer nasıl encode edilir?

gRPC-Web marker’ın en yüksek bitini açar ve payload içine HTTP/1 benzeri header block koyar. grpc-status ve grpc-message normalde son trailer frame’de yer alır.

Neden grpc-encoding seçmem gerekiyor?

Frame yalnızca compressed bit taşır. Gerçek algoritma ayrı HTTP grpc-encoding header’ında belirtilir; payload byte’larından tahmin yapmak yanıltıcı sonuç üretebilir.