В версиях HTML до 5 (например, XHTML, HTML4 и т. Д.) Невозможно манипулировать фактически целым URL страницы, но вы делаете это через идентификатор фрагмента, как сказал @JamesGoodwin. Это очень полезно для Facebook, Twitter и т. Д.
В HTML 5 был разработан API, который позволяет выдвигать изменения истории, которые отражают фактический URL-адрес страницы. Отличным примером этого является навигация по вкладке источника на Github.
Вот краткое изложение API в Mozilla Developer Network