Visual RFC.
ALL RFCs / RFC 9209
Read the RFC ↗
RFC 9209 / PROXY DIAGNOSTICS

Locate the failure

03

An error parameter describes an intermediary’s problem obtaining the response. Some errors require a proxy-generated response; others can accompany an origin’s partial response.

RFC 9209 · § 2.1.1EXAMPLE
4 / 4
Locate the failureAn error parameter describes an intermediary’s problem obtaining the response. Some errors require a proxy-generated response; others can accompany an origin’s partial response. In a third case, an origin’s 200 and partial content have already passed through. The connection then closes. connection_terminated can be reported late; the already-sent 200 cannot simply be rewritten.Different stages, different errorsEdgeOrigin200 + partial content receivedConnection closes before completionEdge; error=connection_terminatedAlready-sent 200 cannot be rewrittenRFC9209 · chapter3 · state4 · fictional examples
04
Keep an already-sent status

In a third case, an origin’s 200 and partial content have already passed through. The connection then closes. connection_terminated can be reported late; the already-sent 200 cannot simply be rewritten.

Source for this drawing: RFC 9209 · Read RFC section 2.1.1 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

The most specific accurately applicable error type SHOULD be used. DNS timeout and connection timeout identify different failed stages.

  • The most specific accurately applicable error type SHOULD be used. DNS timeout and connection timeout identify different failed stages.
  • When generating a response containing an error, its HTTP status SHOULD use the registered recommendation; circumstances such as already-sent status can justify another code.
  • dns_timeout and connection_timeout have recommended 504 and require proxy-generated responses. connection_terminated recommends 502 but can also describe a response that began upstream.
DETAILS

These are three alternative cases, not consecutive failures of one exchange. Registered recommendations are SHOULD, not unconditional MUST. The publication defines 32 initial error types and extensible registries (§§2.2–2.4); this chapter illustrates selected types rather than implying only these exist.

Read the RFC section ↗

All chapters in RFC 9209

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗