← Stopnja 3 – Mojster

Lekcija 7 od 10 ⏱ 20 minut Premium

Kaj je strežnik in čemu služi Node.js

Kje spletna stran dejansko živi, kaj je API in zakaj obrazec iz ravni 2 ni imel kam poslati sporočil.

Se spomniš tistega obrazca brez prejemnika?

V ravni 2 si zgradil obrazec, ki je preveril sporočilo, se zahvalil… in ga potem vrgel stran. Ni bilo kam ga shraniti. Tvoja spletna stran za zdaj zna le izdajati pripravljene datoteke – ne more sprejemati in si zapomniti ničesar. Za to potrebuješ strežnik. In točno to se boš zdaj naučil zgraditi.

Frontend in backend

Vsaka velika aplikacija (Instagram, spletna šola, spletna trgovina) ima dve polovici:

Kako se polovici pogovarjata? Prek API-ja (Application Programming Interface) – dogovorjenih naslovov, kjer backend odgovarja. Vzorec pogovora:

Frontend:  GET /api/messages         ("Send me all the messages.")
Backend:   [{ "name": "Grandma", "text": "Lovely website!" }]

Frontend:  POST /api/messages        ("Here's data, save it: ...")
Backend:   { "saved": true }

Podatki se pošiljajo v formatu JSON – izgleda skoraj kot JavaScript objekti iz kviza. Srečna naključnost? Ne – JSON pomeni JavaScript Object Notation. Na tvoji strani je.

Kje tak backend teče?

Med razvojem na tvojem računalniku (localhost – poznaš iz Vite). V produkciji na računalniku, ki je vedno vključen in povezan – ali najeti “kos” strežnika (VPS) ali storitev, ki poskrbi za vse (Render, Railway…). Do objave pridemo v zadnji lekciji.

💡

Za kaj je bil potem GitHub Pages? To je gostovanje samo za frontend – izdaja datoteke, nič več. Popolno za spletno stran ravni 1–2 (in tudi najvarnejše: kjer nič ne teče, nič ni mogoče vdreti). Backend potrebuješ, ko mora spletna stran kaj sprejeti in si zapomniti – sporočila, prijave, uporabnike.

Zdaj si na vrsti 💪 (mini misija iz radovednosti)

  1. Odpri najljubšo spletno stran, pritisni F12 in preklopi na zavihek Network. Osveži stran in opazuj vodopad zahtev – vsaka vrstica je en pogovor med brskalnikom in strežnikom.
  2. Na seznamu poišči zahtevo GET in eno, ki vrne JSON (stolpec Type: json ali fetch). Klikni jo in poglej odgovor – vidiš podatke, iz katerih je stran zgrajena.
  3. V konzolo vpiši to in opazuj, kako frontend sam prosi za podatke:
fetch("https://api.chucknorris.io/jokes/random")
  .then((response) => response.json())
  .then((data) => console.log(data.value));

fetch(...) je JavaScript ukaz “pokliči API.” V lekciji 9 boš s tem ukazom obrazec povezal s svojim strežnikom.

Preveri se: Z lastnimi besedami znaš razložiti razliko med frontendom in backendom, veš, kaj sta GET, POST in JSON, in v zavihku Network si videl, kako se spletne strani pogovarjajo. V naslednji lekciji boš tak strežnik zgradil sam.

Kaj si vzameš iz te lekcije