I’d forgotten about this; looking into it in more detail, I dug up some info on why they were removed:
Doesn’t work with page caching, safari has bugs with authentication
with urls with semi colons in it. Various libraries (like mongrel)
mistakenly consider ; to be part of the query string.
Overall it simply wasn’t worth the theoretical ‘peers in the
hierarchy’ benefit that we put it in for.
Peter, when you say:
However, since we’re strictly client side we might avoid some of the problems they had
This certainly doesn’t apply to my app that’s exclusively pushstate - the whole url, semicolons and all is sent to the server. If any intermediary can’t handle it it will still cause breakages.
Also, I found some other references to lots of software e.g. autolinking libraries, which would cut off the url at the first semicolon.
Ultimately, I think that semicolon URIs are going to be more hassle than they are worth, and for that reason I am tentatively changing my position to “We should use normal
?foo=bar params like normal sensible people”.
I’m also a little bit worried that semi-colon URLs just look bad/unfamiliar and people will troll us a bit for that.
I don’t want to take into account being trolled into that decision (we already get trolled, we’ll get trolled whatever we do, and we shouldn’t factor that into what’s the best decision).