Šta je server? Jednostavan vodič za graditelje aplikacija
Server je računar — ili program koji radi na računaru — koji čeka zahtjeve i odgovara na njih. Kada otvorite web sajt, vaš preglednik (klijent) šalje zahtjev preko interneta, a neki server negdje vraća stranicu, slike ili podatke. Svaka aplikacija koju koristite, od e-pošte do internet bankarstva, zavisi od servera koji ovo rade milion puta dnevno.
Zašto su serveri važni kada gradite uz AI
Kada AI alat napravi aplikaciju za vas, dio koda se izvršava u pregledniku posjetioca, a dio se obično izvršava na serveru. Serverski dio radi stvari kojima se pregledniku ne može vjerovati ili koje on sam ne može da uradi:
- Čuvanje i učitavanje podataka iz baze podataka.
- Čuvanje tajni, poput ključeva za plaćanja ili AI provajdera, koji nikada ne smiju doći do preglednika.
- Provjera dozvola — osiguravanje da korisnik može vidjeti i mijenjati samo svoje zapise.
- Komunikacija s drugim servisima: naplata kartice, slanje e-pošte, poziv AI modelu.
Razumijevanje šta server radi pomaže vam da shvatite gdje zaista žive pravila vaše aplikacije, zašto neke promjene traže ponovno objavljivanje i za šta plaćate kada hostujete aplikaciju. Za podjelu između dvije strane pogledajte frontend naspram backend-a.
Svakodnevna analogija
Server je poput šalterskog radnika u pošti. Ne ide sam da traži kupce; čeka. Kupac (klijent) priđe s zahtjevom — „pošaljite ovaj paket”, „ima li pošte za mene?” — a službenik ga obradi i vrati rezultat. Jedan službenik može poslužiti mnogo kupaca jednog za drugim, a zauzeta pošta otvara više šaltera.
Pošta ima i pravila koja kupac ne može zaobići: morate pokazati ličnu kartu da biste preuzeli paket. To je posao servera i u aplikaciji — preglednik može tražiti šta god hoće, ali server odlučuje šta će dobiti.
Kako zahtjev stiže do servera
Kada neko posjeti https://bookings.example.com/schedule:
- DNS upit. Preglednik pita sistem imena domena na koju IP adresu pokazuje
bookings.example.com. Pogledajte kako rade domene i DNS. - Konekcija. Preglednik se povezuje na tu adresu, na port 443 za HTTPS, i uspostavlja šifrovanu vezu. Pogledajte šta je HTTPS.
- Zahtjev. Šalje HTTP zahtjev:
GET /schedule. - Rad. Server pokreće kod koji obrađuje
/schedule— možda traži današnje rezervacije u bazi. - Odgovor. Šalje statusni kod (
200 OK) i sadržaj — HTML stranicu ili JSON podatke koje stranica prikazuje.
Sve to obično traje djelić sekunde.
Vrste servera o kojima ćete čuti
| Pojam | Šta znači |
|---|---|
| Web server | Softver koji odgovara na HTTP zahtjeve — šalje fajlove ili prosljeđuje zahtjeve kodu vaše aplikacije. |
| Aplikacioni server / backend | Vaš kod koji radi na serveru: API koji obrađuje rezervacije, prijave i plaćanja. |
| Server baze podataka | Server čiji je posao čuvanje i pretraga podataka — poput Postgres baze s kojom aplikacija razgovara. |
| Fajl / statički server | Šalje gotove fajlove (HTML, slike, skripte) bez izvršavanja posebnog koda za svaki zahtjev. |
| Fizički server | Stvarna mašina u racku u podatkovnom centru. |
| Virtuelna mašina (VM) / VPS | Dio fizičke mašine koji se ponaša kao sopstveni računar. |
| Kontejner | Lakši paket aplikacije i svega što joj treba, pokrenut na zajedničkoj mašini. Mnoge platforme deployaju aplikacije ovako. |
| Serverless | Uploadujete kod, a provajder ga pokreće po potrebi — na serverima kojima ne upravljate. Pogledajte šta znači serverless. |
Primijetite da „server” označava i mašinu i program. „Server je pao” može značiti jedno ili drugo.
Praktičan primjer: aplikacija za rezervacije u salonu
Evo šta server radi u maloj aplikaciji za rezervacije u salonu:
- Posjetilac otvara sajt. Server (ili CDN ispred njega) šalje fajlove stranice.
- Stranica traži od servera
GET /api/slots?date=2026-10-03. Server upituje bazu za slobodne termine i vraća ih kao JSON. - Posjetilac rezerviše 14:00. Stranica šalje
POST /api/bookings. Server provjerava da li je termin još slobodan — ne vjeruje riječi preglednika — čuva rezervaciju i vraća201 Created. - Server poziva servis za e-poštu s tajnim ključem, koji je sačuvan na serveru, da pošalje potvrdu.
Kada biste isključili server, stranica bi se možda i dalje učitala s CDN-a, ali ne bi mogla prikazati termine niti sačuvati rezervacije.
Šta server treba da radi dobro
- Memorija (RAM) i procesor (CPU). Premalo memorije i aplikacija se ruši pod opterećenjem; premalo procesora i usporava.
- Da radi. Server koji je isključen ne može odgovoriti. Neke platforme uspavaju neaktivne aplikacije i bude ih pri sljedećoj posjeti, što štedi novac, ali može usporiti prvi zahtjev.
- Konfiguracija i tajne, predate kao varijable okruženja.
- Logovi — serverski zapis onoga što se dogodilo, i prvo mjesto gdje gledate kada nešto pođe po zlu.
- Ažuriranja i sigurnosne zakrpe, koje upravljani hosting rješava umjesto vas.
Česta pogrešna shvatanja
- „Cloud znači da nema servera.” Cloud su tuđi serveri, iznajmljeni po satu ili po korištenju.
- „Server je velik poseban računar.” Svaki računar može biti server. Vaš laptop radi kao server kada otvorite
localhosttokom razvoja. - „Ako je dugme sakriveno, korisnici ne mogu to uraditi.” Svako može slati zahtjeve direktno vašem serveru. Provjere dozvola moraju se obaviti na serveru, a ne samo u stranici.
- „Više servera rješava sporost.” Često je pravi uzrok spor upit u bazi ili spoljni API. Prvo pronađite usko grlo.
- „Moram upravljati serverom da bih imao aplikaciju.” Upravljane platforme vode servere umjesto vas; vi deployate kod, a one brinu o mašinama.
Šta tražiti od AI graditelja
- „Koji dijelovi ove aplikacije rade na serveru, a koji u pregledniku?”
- „Drži sve API ključeve na serveru i čitaj ih iz varijabli okruženja.”
- „Provjeri dozvole na serveru za svaki zahtjev koji čita ili mijenja podatke.”
- „Gdje su serverski logovi i šta kažu o ovoj grešci?”
- „Da li ova aplikacija uopšte treba server ili može biti statički sajt?”
- „Šta se dešava s prvim zahtjevom nakon što je aplikacija bila neaktivna?”
Serveri na Mythex-u
Na Mythex-u ne postavljate niti upravljate serverima. Dok gradite, vaša aplikacija radi u privatnom cloud sandbox-u za živi pregled. Kada objavite, Mythex je deployuje: statički frontend-ovi kao statički sajtovi, a backend-ovi (Node, Python, C#, Java i drugi) kao kontejneri izgrađeni iz Dockerfile-a — bez ikakvog hostinga koji sami podešavate. Mythex bira veličinu mašine pri deployu: podrazumijevano 1 CPU i 512 MB memorije, uz dostupnost većih na zahtjev (do 1 GB na Free planu, a do 2 CPU-a, 4 GB i 3 mašine na Pro planu). Objavljene aplikacije spavaju kada su neaktivne i bude se pri sljedećoj posjeti, a uspavana aplikacija ne troši ništa na računarske resurse. Detalji su u dokumentaciji o API backend-ovima i ograničenjima hostinga, a naš vodič o web hostingu pokriva širu sliku.
Pitanja
Šta je server jednostavnim riječima?
Server je računar, ili program koji radi na njemu, koji čeka zahtjeve drugih uređaja i odgovara na njih. Kada otvorite web sajt, vaš preglednik traži od servera stranicu, a server je šalje nazad.
Da li je server fizička mašina ili softver?
Koriste se oba značenja. „Server” može značiti fizički ili virtuelni računar, ili program na njemu koji obrađuje zahtjeve, poput web servera. Većina aplikacija danas radi na virtuelnim mašinama ili kontejnerima u podatkovnom centru cloud provajdera, a ne na hardveru koji posjedujete.
Da li svaki web sajt treba server?
Da, nešto uvijek mora poslati fajlove posjetiocu. Statički sajt treba samo jednostavan server za fajlove ili CDN. Aplikacija koja čuva podatke, obrađuje prijave ili čuva tajne API ključeve treba i backend server koji pokreće vaš kod.
Šta znači localhost?
Localhost znači „ovaj isti računar”. Developer koji pokreće aplikaciju na svom računaru otvara je na adresi poput http://localhost:3000. Samo taj računar može da joj pristupi; niko drugi je ne vidi dok se ne objavi na javnom serveru.