You cant actualy change the url parameters like you can the history,
because changing them would refresh the page.
google.com#?blah=blah would be a history token that just pretends to
be a normal parameter. (and Window.Location.getParameter wouldnt work
for it).
This can be changed without a page refresh
Any change before a #, however (such as
google.com?blah=blah) would
cause a page refresh, and thus cant be done with a continuously
running app.
This cause's much announce in combination with the fact severs cant
access "#", as it makes it very hard to give your users url's which
both always link to the same data, and work for clients without
javascript. (such as google bots)