Si tratta di una feature di html5. è supportata da tutti i browser moderni (purché aggiornati).
googla history api html5
e in particolare a te serve history.pushState(...parametri...)
Vedrai che è più semplice di quando sembra!
Un utile trick per la navigazione con i tasti del browser:
con questo metodo devi anche preoccuparti di intercettare quando l'utente naviga nella cronologia (avanti e indietro).
ti tornerà molto comoda la window.onpopstate=function load_page_in_the_url.
Poi, per rendere accessibile la pagina sull'url digitato all'onload leggi l'url e carichi il div specifico (di default lasci la home)