Tan fácil como usar la función pushState del objeto history.
jQuery(document).on('click', 'a.withpushstate', function (e) {
let href = jQuery(this).attr('href');
history.pushState({
href: href
}, false, href);
//si estamos usando algun framework aquí podríamos enseñar un loading
jQuery.get(href, function (data) {
jQuery('#contenedorpushstate').html(data);
//y aquí ocultar el loading nuevamente
});
return false;
});