What is a valid URL query string?

Aran Mulholland picture Aran Mulholland · Nov 14, 2012 · Viewed 34.8k times · Source

What characters are allowed in an URL query string?

Do query strings have to follow a particular format?

Answer

Steven picture Steven · Nov 14, 2012

Per http://tools.ietf.org/html/rfc3986

In section 2.2 Reserved Characters, the following characters are listed:

reserved = gen-delims / sub-delims

gen-delims = “:” / “/” / “?” / “#” / “[” / “]” / “@”

sub-delims = “!” / “$” / “&” / “’” / “(” / “)” / “*” / “+” / “,” / “;” / “=”

The spec then says:

If data for a URI component would conflict with a reserved character’s purpose as a delimiter, then the conflicting data must be percent-encoded before the URI is formed.

Next, in section 2.3 Unreserved Characters, the following are listed:

unreserved = ALPHA / DIGIT / “-” / “.” / “_” / “~”