> - Url::isSpecial() Could we come up with a better name here? I would go with Url::isStandardBrowserUrl() or something similar. The *special* in the WHATWG spec represents a list of specific URI schemes. It currently contains http(s), ws(s) and file. But since it is a living standard, if I remember correctly, at some point, the gopher scheme for instance was also listed there and in contrast the data or the blob URI scheme have never been listed there. So finding the right name which does not get outdated depending on what it represents is ... special
> - So the interface doesn't cover build(). Problem solved. And it does not cover (set)userInfo, (set)username, (set)password ... modifiers too and depending on if validation is taken into account you may also remove (set)host from your interface > - Then the RFC needs to explain why we need to have both for the query params, and how they differ. The RFC3986 URI exposes the `raw` non normalized URI component as well as the normalized one. The only distinction from the Query component perspective in RFC3986 is that encoded characters need to be uppercased. So if you want to work with the raw input untouched you will need the getRawQuery and thus the getRawQueryParams. As I said this is already covered in the previous RFC. Where I do agree with you is, if after creating the UriQueryParams the result is identical, then we may not need the getRawQueryParams method at all. Best regards, Ignace
