HTTP过滤器

就像网络级别的过滤器一样,Envoy在连接管理器中支持HTTP级别的过滤器。过滤器支持可编写,无需关心底层链路协议(HTTP/1.1,HTTP/2等)或是否使能多路复用的情况下,可直接对HTTP层消息进行操作。有三种类型的HTTP级别过滤器:

  • 解码器(Decoder):解码器过滤器在连接管理器正在解码请求流的部分(头域,正文和尾部)时被调用。
  • 编码器(Encoder):编码器过滤器在连接管理器即将编码部分响应流(头域,正文和尾部)时被调用。
  • 解码器/编码器(Decoder/Encoder):解码器/编码器过滤器在连接管理器正在解码请求流的部分时以及连接管理器将要对部分响应流进行编码时被调用。

HTTP级别过滤器API允许在不知道底层协议的情况下运行。 像网络级别的过滤器一样,HTTP过滤器可以停止并继续迭代到后续的过滤器。这可以实现更复杂的场景,例如运行状况检查处理,调用速率限制服务,缓冲,路由,为应用程序流量(例如DynamoDB等)生成统计信息。Envoy已经包含了几个HTTP级别的过滤器,配置参考

返回