Но в морето от технологии и езици за програмиране се изгубих.
Ами започни от основите. Като за начало трябва да знаеш HTML и CSS до известна степен. Тези се учат в движение, но е добре да знаеш някои основни тагове и стилове. Хубаво е да знаеш и основните принципи при HTTP, все пак цялата комуникация се извършва върху тоя протокол.
Без JavaScript няма да минеш, просто всички браузъри това ползват. Като език е малко по-шашав от всички останали - пълно е с колбеци (callbacks), евенти и прототипи. Аз не бих ти препоръчал да захващаш дори jQuery преди да проучиш как работи JavaScript.
За сървъра не знам какво бих препоръчал
Всичко различно от JavaScript (NodeJS) предполага, че трябва да научиш друг език, например PHP. И после на браузъра ще пишеш на JS, а на сървъра на PHP. Тогава ще се запиташ "Защо трябва да уча два различни езика, след като вече знам JS не може ли да го използвам на двете места едновременно?" Но на практика си има различни специфики - процесите в браузъра и на сървъра се случват по съвсем различен начин. В браузъра ролята на JS е да работи върху DOM дървото, да засича евенти и да променя елементи. Затова JS кода е асинхронен и имаш колбеци, то просто се налага. На сървъра обаче въобще няма такова DOM дърво, там не натискаш по бутони и не променяш HTML елементи, атмосферата е доста по-различна през повечето време. На сървъра четеш записи от базата данни и връщаш резултати => е много по-лесно и разбираемо кода да е синхронен, както е в PHP. Но JS е асинхронен по природа и се получава едно такова разминаване - блъскаш едни колбеци на сървъра за щяло и нещяло и се питаш "Защо по дяволите?". Така че може да е по-лесно просто да научиш език, специфично направен за да се ползва на сървъра.
Но държа да отбележа, че в зависимост от сайта може да е по-добре да бъде написан на NodeJS или на PHP. Значи, ясно е че като пишеш код на PHP, той е напълно синхронен - всичко започва от ред 1 и приключва на последния ред от кода, все едно четеш книга. Е да, но посетителите зареждат сайта асинхронно - Пешо не чака Гошо да си зареди страницата. Значи по някакъв начин PHP приема заявките на посетителите асинхронно, но самия код е синхронен, все едно има някакъв конвертор. Това става като за всеки потребител се отваря нещо като нов процес, което си има своите недостатъци - при по-голям наплив от посетители PHP ще клекне. При NodeJS всичко си е асинхронно в самия код и имаме само 1 процес дето обслужва всички входящи заявки. Това пък носи други недостатъци... ама да не задълбаваме повече
Пробвай това и онова, пък което ти хареса. Няма как да налучкаш най-добрия език за твоите предпочитания от първия път.