📡 ToastRFC

MUST / REQUIRED / SHALL

absolute requirement

an absolute requirement of the specification — no conforming implementation may do otherwise

The requirement keywords, defined once in RFC 2119 (1997) and tightened by RFC 8174 (2017), are the backbone of every IETF spec. They only carry their special meaning in ALL CAPITALS — a lowercase "must" is just prose.

MUST, REQUIRED, and SHALL are equivalent: an absolute requirement. MUST NOT / SHALL NOT: an absolute prohibition. Violating a MUST means you are not implementing HTTP — full stop.

How it is read

RFC 2119 (1997)

spec

"MUST — This word, or the terms 'REQUIRED' or 'SHALL', mean that the definition is an absolute requirement of the specification." The document simply used capitalized keywords; whether lowercase counted was left ambiguous.

RFC 8174 (2017)

spec

Added the crucial clause: the keywords have their special meaning "only when they appear in all capitals, as shown here." A lowercase "must" is not a conformance requirement. RFC 9110 §2.2 adopts this: "The key words … are to be interpreted as described in BCP 14 … when, and only when, they appear in all capitals."

In the corpus (60 of 292)

HTTP Semantics