IETF 81 - Thoughts on HTTP Header Field Parsing

Julian Reschke, greenbytes

Background

Problem Statement

Example: the List Production and repeating Header Field instances

  Foo: a
  Foo: b    

is equivalent to

  Foo: a, b    
  If-Match: "strong", W/"weak", "oops, a \"comma\""    

Example: the List Production and repeating Header Field instances

Combining list production with structured field syntax:

  WWW-Authenticate = 1#challenge
  challenge        = auth-scheme 1*SP 1#auth-param
  auth-param       = token "=" ( token / quoted-string )

Example:

  WWW-Authenticate: Newauth realm="newauth",
    test="oh, a \"comma\"", foo=a'b'c, Basic realm="basic"
    

Example: Parameters - Whitespace, Quoting

  param = token "=" ( token / quoted-string )    
  foo=bar; foo='bar'; foo="bar"; foo = "bar"    

Proposals

Links

My tests:

...and then there's also http://redbot.org/.