it's quite funny how well java programmers typing confidently and c# developers just copy and paste or watch and type. it even happens in Microsoft build or their events. anyway I'm a c# developer
Putting RPC over HTTP is inefficient and ugly. HTTP is an application level and RPC should travel via transport level, that would be the good design. Why do we require the HTTP in this case? We can easily define multiple streams inside single TCP or TLS connection if needed, other protocols also could be an option, SCTP for ex. You talk a lot about efficiency here, but using HTTP as a transport is really an inefficient part. A also wonder why people forget and do not use good things invented and developed, like SCTP.
grpc is a messaging protocol over the network between a website (client) and its servers.Chrome just renders what a website tells it to. The use of gPRC depends on what websites you use and if they use it. So like going to netflix you might be using grpc but going to facebook they might be talking over a different protocol like REST.