This repository has been archived by the owner on Feb 7, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 135
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
282a260
commit 68aeec9
Showing
3 changed files
with
5 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,13 @@ | ||
# HTTP 过滤器 | ||
|
||
比较类似[网络过滤器](network_filters.md#arch-overview-network-filters)栈,Envoy 在连接管理器内支持 HTTP 过滤器栈。 | ||
与[网络级别过滤器](network_filters.md#arch-overview-network-filters)栈类似,Envoy 在连接管理器内支持 HTTP 过滤器栈。 | ||
|
||
我们可以在不了解底层物理协议(如 HTTP/1.1、HTTP/2等)或多路复用技术相关知识的情况下,写过滤器去操作 HTTP 的信息。 | ||
我们可以在不了解底层物理协议(如 HTTP/1.1、HTTP/2 等)或多路复用技术相关知识的情况下,写过滤器去操作 HTTP 的信息。 | ||
|
||
有三种类型的 HTTP 过滤器: | ||
|
||
- **解码器**:解码器过滤器在连接管理器在解码部分请求流(头部、正文和尾部)时被调用。 | ||
- **编码器**:编码器过滤器在连接管理器即将对响应流(头部、正文和尾部)的部分进行编码时被调用。 | ||
- **解码器/编码器**:解码器/编码器过滤器在连接管理器在解码请求流时以及当连接管理器将要编码响应流时被调用。 | ||
- **解码器**:解码器过滤器当连接管理器在解码部分请求流(头部、正文和尾部)时被调用。 | ||
- **编码器**:编码器过滤器当连接管理器即将对响应流(头部、正文和尾部)的部分进行编码时被调用。 | ||
- **解码器/编码器**:解码器/编码器过滤器当连接管理器在解码请求流时以及当连接管理器将要编码响应流时被调用。 | ||
|
||
HTTP 过滤器的 API 允许过滤器在不知道底层协议的情况下运行。 就如网络过滤器一样,可停止 HTTP 过滤器并继续执行后续的过滤器。 由此可以实现更复杂的业务场景,例如运行状况检查处理、调用限速服务、缓冲、路由、为应用程序流量(例如 DynamoDB 等)生成统计数据。Envoy 已包含多个 HTTP 过滤器,相关文档可查阅这份体系结构概述以及[配置参考](../../configuration/http_filters/http_filters.md#config-http-filters)。 |