Subject: [ietf-types] Registration for application/x-www-form-urlencoded

From: "Michael[tm] Smith" <[email-masked]>
Date: Tue, 7 Aug 2012 20:36:02 +0900

This is a request to register the application/x-www-form-urlencoded media
type by reference to the HTML5 specification:

  http://www.w3.org/TR/html5/iana.html#application-x-www-form-urlencoded

---------------------------------------------------------------------------
Type name:
  application

Subtype name:
  x-www-form-urlencoded

Required parameters:
  No parameters

Optional parameters:
  No parameters

Encoding considerations:
  7bit (US-ASCII encoding of octets that themselves can be encoding text
  using any ASCII-compatible character encoding)

Security considerations:
  In isolation, an application/x-www-form-urlencoded payload poses no
  security risks. However, as this type is usually used as part of a form
  submission, all the risks that apply to HTML forms need to be considered
  in the context of this type.

Interoperability considerations:
  Rules for generating and processing application/x-www-form-urlencoded
  payloads are defined in the HTML5 specification.

Published specification:
  The HTML specification is the relevant specification. Algorithms for
  encoding and decoding are defined.

Applications that use this media type:
  Web browsers and servers.

Additional information:
  Magic number(s):
    There is no reliable mechanism for recognizing
    application/x-www-form-urlencoded payloads.

  File extension(s):
    Not applicable.

  Macintosh file type code(s):
    Not applicable.

Person & email address to contact for further information:
  Michael[tm] Smith <[email-masked]>

Intended usage:
  Common

Restrictions on usage:
  This type is only intended to be used to describe HTML form submission
  payloads.

Author:
  Ian Hickson <[email-masked]>

Change controller:
  W3C

Fragment identifiers have no meaning with the application/x-www-form-urlencoded
type as this type is only used for uploaded payloads that do not have URL
identifiers.
---------------------------------------------------------------------------

-- 
Michael[tm] Smith http://people.w3.org/mike

---

From: Mark Nottingham <[email-masked]>
Date: Tue, 7 Aug 2012 20:17:49 -0500

Hi Michael,

>  http://www.w3.org/TR/html5/iana.html#application-x-www-form-urlencoded
[…]
>  payloads are defined in the HTML5 specification.

HTML4 encouraged <http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2> the use of a semi-colon as a delimiter  in some uses of this type. AFAICT, HTML5 doesn't say anything about it.

A number of libraries (e.g., Python's urlparse.parse_qs) do treat a semicolon as a delimiter, based upon this advice. IME this has led to interop problems, as some software thinks it's data, while other software thinks it's a delimiter.

It would be good if this could be clarified; e.g., a note to the effect that semicolon is NOT a delimiter, even though it was encouraged in the past (that makes filing appropriate bugs easier).

That could be done here, or somewhere else in the HTML5 spec.

Cheers,

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