Можно ли организовать загрузку html без перезагрузки страницы, используя WebSocket?
К языку программирования Go, что у вас в тегах указан - это не имеет отношения.
А имеет отношение к языку программирования JavaScript, но он у вас в тегах не указан.
Не просто можно а нужно.
Два классических подхода
 - генерация содержимого страницы, т.е. формируется html и помещается в элемент на странице, заменяя предыдущий
 - страница сразу представляет из себя все шаблоны (недоделанные страницы), размещенные в скрытых элементах, затем по нажатию кнопки этот шаблон  дополняется информацией и делается видимым.
Очень часто второй способ более оправдан, его удобнее отлаживать, но скорее всего итоговый результат будет комбинацией этих подходов, когда основная структура страницы определяется самой html, но внутренние элементы доформировываются скриптом.
Нормальным подходом является хранение шаблонов тут же на странице в , в итоге все необходимые шаблоны будут загружены при первой же загрузки страницы, и закешированы, а в дальнейшем с сервера запрашиваются только данные (по вебсокет или ajax), удобно, логично, быстро и главное разработка логично разделяет интерфейсом занимается браузер, данными - сервер.