This API exists for that precise purpose. If you want to "navigate" your AJAX application to a new logical page, you use this API to do the navigation, and you supply a state that helps the browser return to the previous logical page when the user hits the back button. (And the same when they hit the forward button.) And you use real URIs, which when the user copies and pastes them will navigate properly to that page without the AJAX magic.