p1: BWS

p1 3.2.3 says:

>    BWS is used where the grammar allows optional whitespace, for
>    historical reasons, but senders SHOULD NOT generate it in messages;
>    recipients MUST accept such bad optional whitespace and remove it
>    before interpreting the field value or forwarding the message
>    downstream.

  http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-22#section-3.2.3

Throughout our specs, BWS is used at the end of header fields:
     header-field   = field-name ":" OWS field-value BWS

and in transfer-codings:
     transfer-parameter = attribute BWS "=" BWS value

and in Expect headers:
  expectation  = expect-name [ BWS "=" BWS expect-value]
                             *( OWS ";" [ OWS expect-param ] )
  expect-param = expect-name [ BWS "=" BWS expect-value ]

and, finally, in auth-params on challenges and credentials:
  auth-param     = token BWS "=" BWS ( token / quoted-string )

Is this whitespace really "bad" enough to MUST-require that intermediaries (including load balancers and other hardware!) remove it before forwarding the message?

Cheers,

--
Mark Nottingham   http://www.mnot.net/

Received on Thursday, 18 April 2013 01:18:48 UTC