[whatwg/url] url.bs: Fix to strange, undocumented deviance from RFC 3986 regarding URL encoding. (#394)

Per RFC 3986 published in 2005, the * is a reserved character.  That means that it must
be encoded if it is intended to be interpreted as a data item instead of a delimiter in
the context in which it appears.  Therefore it cannot be excluded from the set of
characters that require encoding.

However, the ~ is an unreserved character.  It is not to be used as a delimiter, and does
not require percent-encoding.

per the RFC:
 ... For consistency, percent-encoded octets in the ranges of ALPHA
   (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period (%2E),
   underscore (%5F), or tilde (%7E) should NOT be created by URI
   producers... 

The serialization scheme currently recommended in this standard encodes the tilde ( an unreserved character ) and does not encode the * ( a reserved character ).

>From my perspective, the behavior of the serialization scheme recommended here should be the opposite of what it currently is regarding the two characters * and ~.

I can see no sensible supporting cases, documentation,  or justification anywhere that supports this standard's deviation from RFC 3986 regarding these two characters.

The change I made swaps the recommended behavior regarding these two chars.
You can view, comment on, or merge this pull request online at:

  https://github.com/whatwg/url/pull/394

-- Commit Summary --

  * url.bs:  Fix to strange, undocumented deviance from RFC 3986

-- File Changes --

    M url.bs (2)

-- Patch Links --

https://github.com/whatwg/url/pull/394.patch
https://github.com/whatwg/url/pull/394.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/url/pull/394

Received on Wednesday, 6 June 2018 15:16:02 UTC