Vodiči

Što je server? Jednostavan vodič za graditelje aplikacija

Server je računalo, ili program koji radi na računalu, koji čeka zahtjeve i odgovara na njih. Kad otvorite web stranicu, vaš preglednik (klijent) šalje zahtjev preko interneta, a neki server negdje šalje natrag stranicu, slike ili podatke. Svaka aplikacija koju koristite, od e-pošte do internet bankarstva, ovisi o serverima koji to rade milijune puta dnevno.

Zašto su serveri važni kad gradite uz AI

Kad vam AI graditelj napravi aplikaciju, dio koda radi u pregledniku posjetitelja, a dio obično radi na serveru. Server dio obavlja stvari kojima se pregledniku ne može vjerovati ili koje sam ne može obaviti:

  • Spremanje i učitavanje podataka iz baze podataka.
  • Čuvanje tajni, poput ključeva za plaćanja ili API ključeva AI pružatelja, koji nikad ne smiju doći do preglednika.
  • Provjera dozvola: osiguravanje da korisnik može vidjeti i mijenjati samo vlastite zapise.
  • Komunikacija s drugim uslugama: naplata kartice, slanje e-pošte, pozivanje AI modela.

Poznavanje toga što server radi pomaže vam razumjeti gdje žive pravila vaše aplikacije, zašto neke promjene traže ponovno objavljivanje i za što plaćate kad hostate aplikaciju. O podjeli između dviju polovica pogledajte frontend naspram backenda.

Svakodnevna usporedba

Server je poput službenika na šalteru pošte. Ne ide sam tražiti kupce, nego čeka. Kupac (klijent) dođe s zahtjevom: „pošaljite ovu pošiljku”, „imam li pošte?”. Službenik to obradi i vrati rezultat. Jedan službenik može poslužiti mnoge kupce jednog za drugim, a zauzeta pošta otvara još šaltera.

Pošta ima i pravila koja kupac ne može zaobići: za preuzimanje pošiljke morate pokazati osobnu iskaznicu. To je posao servera i u aplikaciji. Preglednik može tražiti što god želi, ali server odlučuje što će dobiti.

Kako zahtjev stiže do servera

Kad netko posjeti https://bookings.example.com/schedule:

  1. DNS upit. Preglednik pita sustav imena domena na koju IP adresu pokazuje bookings.example.com. Pogledajte kako rade domene i DNS.
  2. Veza. Preglednik se spaja na tu adresu, na priključak 443 za HTTPS, i uspostavlja šifriranu vezu. Pogledajte što je HTTPS.
  3. Zahtjev. Šalje HTTP zahtjev: GET /schedule.
  4. Rad. Server pokreće kod koji obrađuje /schedule, primjerice traži slobodne termine za danas u bazi podataka.
  5. Odgovor. Šalje natrag statusni kod (200 OK) i sadržaj: HTML stranicu ili podatke u JSON formatu koje stranica prikazuje.

Sve to obično traje djelić sekunde.

Vrste servera o kojima ćete čuti

PojamŠto znači
Web serverSoftver koji odgovara na HTTP zahtjeve slanjem datoteka ili prosljeđivanjem zahtjeva kodu vaše aplikacije.
Aplikacijski server / backendVaš kod koji radi na serveru: API koji obrađuje rezervacije, prijave i plaćanja.
Server baze podatakaServer čiji je posao pohranjivanje i upitivanje podataka, poput Postgres baze s kojom vaša aplikacija razgovara.
Datotečni / statički serverŠalje gotove datoteke (HTML, slike, skripte) bez pokretanja prilagođenog koda za svaki zahtjev.
Fizički serverStvarni stroj u stalku u podatkovnom centru.
Virtualni stroj (VM) / VPSDio fizičkog stroja koji se ponaša kao vlastito računalo.
KontejnerLakši paket aplikacije i svega što treba, pokrenut na zajedničkom stroju. Mnoge platforme postavljaju aplikacije upravo tako.
ServerlessUčitate kod, a pružatelj ga pokreće na zahtjev na serverima kojima ne upravljate vi. Pogledajte što znači serverless.

Imajte na umu da „server” znači i stroj i program. „Server se srušio” može značiti oboje.

Primjer: aplikacija za rezervacije u salonu

Evo što server radi u maloj aplikaciji za rezervacije u salonu:

  • Posjetitelj otvori stranicu. Server (ili CDN ispred njega) šalje datoteke stranice.
  • Stranica od servera traži GET /api/slots?date=2026-10-03. Server upituje bazu za slobodne termine i vraća ih kao JSON.
  • Posjetitelj rezervira 14:00. Stranica šalje POST /api/bookings. Server provjerava je li termin još slobodan (ne vjeruje riječi preglednika), sprema rezervaciju i vraća 201 Created.
  • Server poziva uslugu e-pošte s tajnim ključem, pohranjenim na serveru, da pošalje potvrdu.

Da isključite server, stranica bi se možda još učitala s CDN-a, ali ne bi mogla prikazati termine niti spremiti rezervacije.

Što server treba da bi dobro radio

  • Memorija (RAM) i procesor (CPU). Premalo memorije i aplikacija se ruši pod opterećenjem; premalo procesora i usporava se.
  • Da radi. Server koji je isključen ne može odgovoriti. Neke platforme uspavaju neaktivne aplikacije i bude ih pri sljedećem posjetu, što štedi novac, ali prvi zahtjev može biti sporiji.
  • Konfiguracija i tajne, dane kao varijable okruženja.
  • Zapisnici (logovi), odnosno evidencija servera o tome što se dogodilo. Tu prvo gledate kad nešto pukne.
  • Ažuriranja i sigurnosne zakrpe, koje upravljani hosting obavlja umjesto vas.

Česte zablude

  • „Oblak znači da nema servera.” Oblak su tuđi serveri, unajmljeni po satu ili po korištenju.
  • „Server je velik, posebno računalo.” Svako računalo može biti server. Vaš laptop to radi kad otvorite localhost tijekom razvoja.
  • „Ako je gumb skriven, korisnici to ne mogu napraviti.” Svatko može slati zahtjeve izravno vašem serveru. Provjere dozvola moraju se obaviti na serveru, a ne samo na stranici.
  • „Više servera rješava sporost.” Često je stvarni uzrok spori upit u bazi ili vanjski API. Prvo pronađite usko grlo.
  • „Moram upravljati serverom da bih imao aplikaciju.” Upravljane platforme vode servere umjesto vas. Vi postavljate kod, a one brinu o strojevima.

Što tražiti od AI graditelja

  • „Koji dijelovi ove aplikacije rade na serveru, a koji u pregledniku?”
  • „Čuvaj 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 zapisnici servera i što govore o ovoj greški?”
  • „Treba li ova aplikacija uopće server ili može biti statička stranica?”
  • „Što se događa s prvim zahtjevom nakon što je aplikacija bila neaktivna?”

Serveri na Mythexu

Na Mythexu ne postavljate niti upravljate serverima. Dok gradite, vaša aplikacija radi u privatnom oblačnom sandboxu za živi pregled. Kad objavite, Mythex je postavlja: statički frontendi kao statičke stranice, a backendi (Node, Python, C#, Java i drugi) kao kontejneri izgrađeni iz Dockerfilea, bez ikakve konfiguracije hostinga s vaše strane. Mythex pri postavljanju odabire veličinu stroja: zadano 1 CPU i 512 MB memorije, a više je dostupno na zahtjev (do 1 GB na besplatnom planu, a do 2 CPU-a, 4 GB i 3 stroja na Pro planu). Objavljene aplikacije se uspavaju kad su neaktivne i bude pri sljedećem posjetu, a uspavana aplikacija ne troši ništa za računanje. Detalje pokrivaju dokumentacija o API backendovima i ograničenja hostinga, a naš vodič o web hostingu pokriva širu sliku.

Pitanja

Što je server, jednostavno rečeno?

Server je računalo, ili program koji radi na računalu, koji čeka zahtjeve drugih uređaja i odgovara na njih. Kad otvorite web stranicu, vaš preglednik traži stranicu od servera, a server je šalje natrag.

Je li server fizički uređaj ili softver?

Koristi se oba značenja. „Server” može značiti fizičko ili virtualno računalo ili program na njemu koji obrađuje zahtjeve, poput web servera. Većina aplikacija danas radi na virtualnim strojevima ili kontejnerima u podatkovnom centru pružatelja oblaka, a ne na hardveru koji sami posjedujete.

Treba li svaka web stranica server?

Da, nešto uvijek mora poslati datoteke posjetitelju. Statička web stranica treba samo jednostavan poslužitelj datoteka ili CDN. Aplikacija koja sprema podatke, upravlja prijavama ili čuva tajne API ključeve treba i backend server koji izvršava vaš kod.

Što znači localhost?

Localhost znači „ovo isto računalo”. Programer koji pokreće aplikaciju na vlastitom računalu otvara je na adresi poput http://localhost:3000. Samo to računalo ju može doseći. Nitko drugi je ne vidi dok se ne postavi na javni server.

Mythex · Pricing · Izradite bilo što uz AI · Predlošci za web stranice i aplikacije · Mythex u usporedbi · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)