Also, the RFC only defines the general syntax of a URI, and the individual schemes are all a subset of that, each with their own restrictions. Therefore, it is perfectly valid for us to make an empty query string illegal in our scheme. It might be worthwhile to see what the reference client does with URI's like this, and just match that behaviour.