Justin C. wrote in post #1128365:
I assume you meant
Yes, thanks for the correction.
While the standard does not appear to explicitly prohibit this (I
believe it could be interpreted as [“b”, “2=”]), it’s also not an input
which could be generated from the encoding algorithm.
FWIW, the Ruby implementation of this method explicitly disallows “=” in
the name or value.
I concur with all of the above. But the clause in the w3.org spec that
got my attention is:
If string contains a “=” (U+003D) character, then let name be the
substring of string from the start of string up to but excluding its
first “=” (U+003D) character, and let value be the substring from
the first character, if any, after the first “=” (U+003D) character
up to the end of string. If the first “=” (U+003D) character is the
first character, then name will be the empty string. If it is the last
character, then value will be the empty string.
Note that it mentions ‘the first “=”’ consistently, which STRONGLY
suggests that subsequent “=” are allowed as part of the value string.
(I’ve entered this maze of twisty little passages because I’m receiving
a query string from an external host that contains an “extra” equal sign
and I’m trying to decide whose bug this is. I may be tilting at
windmills in questioning the Ruby implementation, but it sure seems like
additional equal signs are permitted by the spec.)