#516·brpc

h2c/grpc遗留问题

Author: jamesgeCreated Sep 29, 2018Updated Sep 13, 2026
Labelsofficial
  • 明确一些边缘header的设置规则,比如[grpc-]accept-encoding, grpc-timeout
  • 改进server端判定client端是否支持gzip的方法,client端不一定要设置accept-encoding
  • grpc不支持application/grpc+json
  • 考虑移除x-bd-error-code x-bd-log-id等字段的可行性。
  • http/h2c支持snappy压缩。(deflate就没必要支持了)
  • http_verbose排版不对,且不是原子写出,多线程下可能交叉
  • protocol支持传递协议参数
  • 支持ProgressiveAttachment和ProgressiveReader
  • http2协议名从h2c改为h2,根据ssl状态动态显示为h2c或h2
  • http2/grpc文档
  • 当h2response的包体长度大于remote window size时,当前的做法是直接返回RST_STREAM,更好的做法是等到收到window_update再发,just like tcp。
  • (Bug)由于连接建立完成后,H2的setting和req是一起发送的,此时client发送一个包体大于默认值的包,会发送失败,那么setting也发不过去,Server也不会发送任何Setting,相当与不会收到任何消息
  • grpc支持streaming rpc
  • 文档中说明http2未实现功能。
  • 支持rpc dump和rpc replay