Yes, it is.
You can find it in RFC 1808 – Relative Uniform Resource Locators:
Within an object with a well-defined base URL of
Base:<URL:http://a/b/c/d;p?q#f>
the relative URLs would be resolved as follows:5.1. Normal Examples
?y=<URL:http://a/b/c/d;p?y>
RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax restates the same, and adds more details, including the grammar:
relative-ref = relative-part [ "?" query ] [ "#" fragment ]
relative-part = "//" authority path-abempty
/ path-absolute
/ path-noscheme
/ path-empty #; zero characters
Now, that is not to say all browsers implement it according to the standard, but it looks like this should be safe.