ENHANCE_YOUR_CALM
ENHANCE_YOUR_CALM (0xb) is sent when an endpoint detects a peer is exhibiting a behavior that is likely to generate excessive load. It is HTTP/2's rate-limiting signal at the framing layer – the connection is too noisy. Clients receiving this should implement exponential backoff before reconnecting.
Code
0xb
Decimal
11
Standard
RFC 9113 §7
Description
ENHANCE_YOUR_CALM was named after a Twitter HTTP error code and signals that the peer is misbehaving in a way that generates excess load – for example, repeatedly sending SETTINGS frames, rapidly opening and resetting streams (RST_STREAM flood), or sending PING frames at a high rate. RFC 9113 §11.4 notes this as a mechanism to prevent abusive behavior. Clients receiving ENHANCE_YOUR_CALM should implement significant backoff (minutes, not seconds) before reconnecting. This is sometimes used by servers to throttle clients that are flooding the connection with requests.
Common Causes
- –Client rapidly opening and resetting streams (RST stream flood)
- –Client sending SETTINGS frames too frequently
- –Client sending PING frames at excessive rate
- –Client generating more concurrent streams than the server can handle