gRPC in the browser: gRPC-Web under the hood
In my previous post we explored the full gRPC protocol stack,
from the .proto contract down to the HTTP/2 frame on the wire.
We ended with a cliffhanger: browsers cannot speak native gRPC.
I promised to cover that gap. This is that post.
We will look at why browsers are fundamentally incompatible with the gRPC HTTP/2 protocol and how gRPC-Web works around those limitations at the byte level. Along the way, we will dig into the Fetch API's streaming internals and close with what is (hopefully) coming in the near future.