HTTP connection management
Translate raw bytes to http message and event, e.g. header/body/trailer received
Access log, request ID gen and tracking, header manipulation, route table mgmt, statistics
HTTP Protocol
Support HTTP/1.1, HTTP/2, and Websocket, does not support SPDY(google private protocol)
Retry Plugin
- Host Predicates: reject a host
- envoy.retry_host_predicates.previous_hosts
- envoy.retry_host_predicates.omit_canary_hosts
- envoy.retry_host_predicates.omit_host_metadata
- Priority Predicates: djust the priority load
- Envoy.retry_priorities.previous_priorities
Internal redirects
redirect to new location when upstream return 3xx
HTTP Filters
Health check handling, rate limit, buffering, routing, statistics.
- Decoder: decode request stream, by order A->B->C
- Encoder: encode response stream, by order C->B->A
- Decoder/Encoder: both
HTTP routing
The router takes an incoming HTTP request, matches it to an upstream cluster, acquires a connection pool to a host in the upstream cluster, and forwards the request.
Route filter
- Virtual hosts map domains/authorities
- Prefix and Exact matching rule. Regex/slug matching is not supported