1. При клике на ссылку загружаете страницу аяксом
2. Заменяете текущий контент страницы новым контентом
3. Через
History API меняем вид урла в браузере.
Но вы не правы в том, что это как у вконтакте. Там это полноценное SPA (Single Page App) приложение.
Чтобы войти в курс дела, почитайте о фреймворках, которые заточены для создания SPA:
Ember.js,
Angular.js и т.д.