Visual RFC.
ALL RFCs / RFC 6266
Read the RFC ↗
RFC 6266 / HTTP RESPONSE DISPOSITION

Parse parameters without splitting inside quotes

02

A disposition token is followed by semicolon-separated parameters. A quoted string can contain characters that would otherwise separate syntax.

RFC 6266 · § 4.1EXAMPLE
3 / 3
Parse parameters without splitting inside quotesField anatomy first separates attachment from a token filename, then keeps a semicolon and space inside one quoted filename report semicolon final dot txt. A separate sender-generation example contains filename a dot txt and FILENAME b dot txt: same case-insensitive name twice makes it invalid, so MUST NOT generate stops at the sender before output. filename and filename star are distinct names, and recipient recovery is a separate question.Find parameter boundaries under the grammarSender generatorHTTP outputinvalid field outputattachment; filename=a.txt;FILENAME=b.txtSame parameter name twice: invalidSender MUST NOT generate this field
03
Do not generate duplicate filename parameters.

filename=a.txt and FILENAME=b.txt repeat the same case-insensitive parameter name. This sender path stops before emitting the invalid field, satisfying MUST NOT.

Source for this drawing: RFC 6266 · Read RFC section 4.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

Parameter boundaries follow the grammar, not every visible semicolon.

  • The grammar is disposition-type followed by zero or more semicolon-separated name=value parameters. A filename value can be a permitted token or quoted string; spaces require quoting.
  • Disposition types and filename/filename* parameter names are matched case-insensitively. Optional whitespace can appear as allowed by the grammar.
  • Multiple instances of the same parameter name make the field invalid. Senders MUST NOT generate invalid fields; filename and filename* are distinct names and can appear together.
DETAILS

The quoted semicolon example is fictional conforming syntax. The duplicate-name scene is a sender generation gate, separate from recipient error recovery in chapter5. A simple split on semicolons breaks quoted values. This is a grammar lesson, not a complete HTTP parser implementation.

Read the RFC section ↗

All chapters in RFC 6266

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 ↗