A new draft is underway for , that has a good chance of becoming an
RFC. The draft is titled “Structured Headers for HTTP” and defines a standard
way to:

  • Encode a list of items in HTTP headers
  • Encode a dictionary (hash, map, associative array depending on where you’re
  • Encode a ‘parameterized list’. For example: X-Header: item1; param1=value1; param2=value2, item2

The idea is that these types of structures are used quite a bit in both
standards and custom extensions, so it makes a lot of sense to define a
standard reusable way instead of reinventing this wheel for literally
every new header.

Items in these structures can contain things like:

  • strings
  • integers
  • floats
  • binary data

Another promise of this draft, is that one day these might be encoded in the
protocol as some kind of binary structure, although in both HTTP/1.1 and
HTTP/2 they are just encoded as text.

Anyway, I wrote a library to parse these strings. You can
find it here:

The library will be marked as ‘1.0.0’ as soon as the draft is released as an
RFC. Until then BC breaking changes might happen as the spec evolves.

Source link


Please enter your comment!
Please enter your name here