Веб-разработку обычно делят на 2 части - фронтенд и бэкенд. Фронтенд - это то, что на стороне клиента - страница, js-скрипты, css.
Бэкенд - это то, что происходит на стороне сайта (на сервере). В качестве серверного языка обычно выступают PHP, Python, Go, Ruby, C# иногда, а так может быть практически любой, даже ассемблер.
Чисто теоретически и фронтендер и бэкендер могут создать сайт. Если утрировать - Фронтендер сделает красивый сайт, который ничего не будет сохранять на сервере, Бекендер создаст некрасивый сайт, но у которого будет функционал.