URL Parser vs Query String Parser
Separate full URL structure parsing from query-parameter parsing so path, fragment, and encoding issues are not mixed together.
Separate full URL structure parsing from query-parameter parsing so path, fragment, and encoding issues are not mixed together.
Parse https://user:pass@example.com/a%2Fb?tag=one&tag=two#top as a whole first. Check credentials and keep serialized /a%2Fb separate from decoded /a/b; decoding must not erase the fact that the slash was originally data inside one path segment.
For ?tag=one&tag=two&empty=&q=a%2Bb+c, parameter parsing preserves two tag rows and the blank value; q decodes to a+b c because %2B is plus and + is space. Special names such as __proto__ remain ordinary grouped JSON keys.
A full URL parser normalizes syntax but does not request the address or prove reachability, ownership, or safety. A Query String parser returns no parameters for mailto:ops@example.com or urn:example:item because neither has a query, and reports malformed percent sequences instead of guessing.
FAQ
Use the Query String Parser. That text is not a complete URL, so the URL Parser asks for a scheme.
The URL Parser can still show scheme, host, path, and fragment. The Query String Parser will not treat the path as parameters.
No. Both tools process text structure only. They do not request the target address or provide reachability or reputation judgments.
Further reading
Keep exploring