gRPCやらprotocul bufferを使っていてらくてんで便利だなあとか思う。
しかし実際のところgRPCを理解する上で必須となるであろうhttp/2.0のことを「ああ、ポーリングを減らせるんでしょ」くらいのことしか分かっていない。どうすればhttp/2.0で通信できて、何故ポーリングを減らせて、それらのためにrpcなりgrpcがどういった位置づけにあるのかが分かっていない。
つーわけで少し調べてみたんだが以下の記事が明瞭で素晴らしかった。
- テキストベースなプロトコル
テキストデータとしてhttpヘッダを受け取り、解析して、リクエストをどう処理するのかを決めている。静的ページだったら気にならないが双方向通信を続けるウェブサービスとしては、都度ヘッダをこねくり回すのは作業の無駄だ。
- ステートレスなプロトコル
- 非効率なTCPコネクションの使い回し