Juhendid

Mis on server? Lihtne juhend rakenduste ehitajatele

Server on arvuti — või selle peal töötav programm —, mis ootab päringuid ja vastab neile. Kui avad veebisaidi, saadab su brauser (klient) päringu üle interneti ning kusagil asuv server saadab tagasi lehe, pildid või andmed. Iga rakendus, mida kasutad, alates e-posti kuni internetipangani, sõltub sellest, et serverid teevad seda miljoneid kordi päevas.

Miks serverid AI-ga ehitamisel tähtsad on

Kui AI-ehitaja sulle rakenduse teeb, jookseb osa koodist külastaja brauseris ja osa tavaliselt serveris. Serveri osa teeb asju, mida brauserile ei saa usaldada või mida see ei suuda üksi teha:

  • Andmete salvestamine ja laadimine andmebaasist.
  • Saladuste hoidmine, nagu makse- või AI-teenusepakkuja API-võtmed, mis ei tohi kunagi brauserisse jõuda.
  • Õiguste kontrollimine — veendumine, et kasutaja saab näha ja muuta ainult oma kirjeid.
  • Suhtlemine teiste teenustega: kaardi laadimine, e-kirja saatmine, AI-mudeli kutsumine.

Serveri tegevuse tundmine aitab mõista, kus su rakenduse reeglid tegelikult elavad, miks mõned muudatused vajavad uuesti avaldamist ja mille eest maksad, kui rakendust hostid. Kahe poole jaotuse kohta vaata esiosa vs taustaprogramm.

Igapäevane võrdlus

Server on nagu postkontori luugi töötaja. Ta ei lähe kliente otsima; ta ootab. Klient (klient) tuleb päringuga — „saada see pakk“, „kas mul on kirju?“ — ametnik käsitleb seda ja annab tulemuse tagasi. Üks ametnik võib teenindada paljusid kliente järjest ning kiire postkontor avab rohkem luuke.

Postkontoril on ka reeglid, mida klient ei saa muuta: pakki kättesaamiseks tuleb näidata isikut. See on serveri töö ka rakenduses — brauser võib küsida ükskõik mida, aga server otsustab, mida ta saab.

Kuidas päring serverini jõuab

Kui keegi külastab aadressi https://bookings.example.com/schedule:

  1. DNS-päring. Brauser küsib domeeninimede süsteemilt, millisele IP-aadressile bookings.example.com osutab. Vaata kuidas domeenid ja DNS töötavad.
  2. Ühendus. Brauser ühendub selle aadressiga HTTPS-i jaoks pordil 443 ja loob krüpteeritud ühenduse. Vaata mis on HTTPS.
  3. Päring. Ta saadab HTTP-päringu: GET /schedule.
  4. Töö. Server käivitab koodi, mis käsitleb /schedule, võib-olla otsides tänaseid broneeringuid andmebaasist.
  5. Vastus. Ta saadab tagasi olekukoodi (200 OK) ja sisu — HTML-lehe või JSON andmed, mida leht kuvab.

Kogu see toiming võtab tavaliselt murdosa sekundit.

Serverite liigid, millest kuuled

TerminMida see tähendab
VeebiserverTarkvara, mis vastab HTTP-päringutele — saadab faile või edastab päringud sinu rakenduse koodile.
Rakendusserver / taustaprogrammSinu enda kood serveris: API, mis käsitleb broneeringuid, sisselogimisi ja makseid.
AndmebaasiserverServer, mille töö on andmete salvestamine ja päringute tegemine — nagu Postgres-andmebaas, millega sinu rakendus suhtleb.
Faili- / staatiline serverSaadab valmis faile (HTML, pildid, skriptid) ilma iga päringu jaoks kohandatud koodi käivitamata.
Füüsiline serverTegelik masin andmekeskuse riiulis.
Virtuaalmasin (VM) / VPSFüüsilise masina tükk, mis käitub nagu oma arvuti.
KonteinerKergem pakend rakendusest ja kõigest, mida see vajab, jooksutatuna jagatud masinas. Paljud platvormid juurutavad rakendusi nii.
Serverivaba (serverless)Laadid koodi üles ja teenusepakkuja käivitab selle nõudmisel — serverites, mida sa ei halda. Vaata mida serverivaba tähendab.

Pane tähele, et „server“ tähendab nii masinat kui programmi. „Server kukkus maha“ võib tähendada kumbagi.

Töötav näide: juuksurisalongi broneerimisrakendus

Siin on, mida server teeb väikeses salongi broneerimisrakenduses:

  • Külastaja avab saidi. Server (või selle ees olev CDN) saadab lehe failid.
  • Leht palub serverilt GET /api/slots?date=2026-10-03. Server päringu andmebaasi vabade aegade kohta ja tagastab need JSON-ina.
  • Külastaja broneerib kell 14:00. Leht saadab POST /api/bookings. Server kontrollib, et aeg on ikka vaba — ta ei usalda brauseri sõna selle kohta — salvestab broneeringu ja tagastab 201 Created.
  • Server kutsub e-posti teenust salajase võtmega, mis on salvestatud serverisse, et saata kinnitus.

Kui lülitaksid serveri välja, võib leht ikka laadida CDN-ist, aga ta ei suudaks näidata vabu aegu ega salvestada broneeringuid.

Mida server vajab, et hästi töötada

  • Mälu (RAM) ja protsessor (CPU). Liiga vähe mälu ja rakendus jookseb koormuse all kokku; liiga vähe protsessorit ja see aeglustub.
  • Töötamine. Välja lülitatud server ei saa vastata. Mõned platvormid panevad tegevusetud rakendused magama ja ärkavad need järgmisel külastusel, mis säästab raha, kuid võib esimese päringu aeglasemaks teha.
  • Seadistused ja saladused, antud keskkonnamuutujatena.
  • Logid — serveri kirjeldus sellest, mis juhtus, ja sealt vaatad esimesena, kui midagi katkeb.
  • Uuendused ja turvaparandused, mida hallatud hosting sinu eest teeb.

Levinud väärarusaamad

  • „Pilv tähendab, et servereid ei ole.“ Pilv on teiste ettevõtete serverid, mida rendid tunni või kasutuse järgi.
  • „Server on suur eriline arvuti.“ Iga arvuti võib olla server. Sinu sülearvuti käitab ühte, kui arenduse ajal avad localhost-i.
  • „Kui nupp on peidetud, ei saa kasutajad seda teha.“ Igaüks saab päringuid otse sinu serverisse saata. Õiguste kontroll peab toimuma serveris, mitte ainult lehel.
  • „Rohkem servereid parandab aeglust.“ Sageli on tegelik põhjus aeglane andmebaasi päring või väline API. Leia kõigepealt kitsaskoht.
  • „Rakenduse jaoks pean serverit haldama.“ Hallatud platvormid käitavad servereid sinu eest; sina juurutad koodi ja nemad tegelevad masinatega.

Mida küsida oma AI-ehitajalt

  • „Millised selle rakenduse osad töötavad serveris ja millised brauseris?“
  • „Hoia kõik API-võtmed serveris ja loe need keskkonnamuutujatest.“
  • „Kontrolli õigusi serveris iga päringu puhul, mis andmeid loeb või muudab.“
  • „Kust leian serveri logid ja mida nad ütlevad selle vea kohta?“
  • „Kas see rakendus vajab üldse serverit või võib see olla staatiline sait?“
  • „Mis juhtub esimese päringuga pärast seda, kui rakendus on olnud tegevusetu?“

Serverid Mythexis

Mythexis ei seadista ega halda sa servereid. Ehitamise ajal jookseb sinu rakendus eelvaate jaoks privaatses pilveliivakastis. Avaldamisel juurutab Mythex selle: staatilised esiosad staatiliste saitidena ja taustaprogrammid (Node, Python, C#, Java ja teised) konteineritena, mis ehitatakse Dockerfile’ist — ilma hostingut ise seadistamata. Masina suuruse valib Mythex juurutamisel: vaikimisi 1 CPU ja 512 MB mälu, saadaval on rohkem tellimisel (Free-paketis kuni 1 GB, Pro-paketis kuni 2 CPU, 4 GB ja 3 masinat). Avaldatud rakendused magavad tegevusetuna ja ärkavad järgmisel külastusel ning magav rakendus ei kuluta arvutusressursse. Üksikasjad on dokumentatsioonis API-taustaprogrammide ja hostingu piirangute kohta ning meie juhend veebihostingust käsitleb laiemat pilti.

Küsimused

Mis on server lihtsalt öeldes?

Server on arvuti või selle peal töötav programm, mis ootab teistelt seadmetelt päringuid ja vastab neile. Kui avad veebisaidi, küsib su brauser serverilt lehte ja server saadab selle tagasi.

Kas server on füüsiline masin või tarkvara?

Mõlemat tähendust kasutatakse. „Server“ võib tähendada füüsilist või virtuaalset arvutit või selle peal olevat programmi, mis päringuid käsitleb, näiteks veebiserverit. Enamik tänapäeva rakendusi töötab pilveteenusepakkuja andmekeskuses olevates virtuaalmasinates või konteinerites, mitte riistvaral, mis on sinu omand.

Kas iga veebisait vajab serverit?

Jah, miski peab alati failid külastajani saatma. Staatiline veebisait vajab ainult lihtsat failiserverit või CDN-i. Rakendus, mis salvestab andmeid, käsitleb sisselogimisi või hoiab salajasi API-võtmeid, vajab lisaks taustaprogrammi serverit, mis käitab sinu enda koodi.

Mida tähendab localhost?

Localhost tähendab „seda sama arvutit“. Arendaja, kes käivitab rakenduse oma masinas, avab selle aadressil nagu http://localhost:3000. Ainult see arvuti pääseb sinna ligi; keegi teine ei näe seda enne, kui see on avalikule serverile juurutatud.

Mythex · Pricing · Ehita kõike AI-ga · Veebilehtede ja rakenduste mallid · Mythex võrdluses · Tehisintellektiga rakenduste ehitamise sõnastik · Tasuta tööriistad tehisintellektiga rakenduste ehitamiseks · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski 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 简体中文 繁體中文(香港) 繁體中文(台灣)