Kas ir serveris? Vienkāršs ceļvedis lietotņu veidotājiem
Serveris ir dators — vai programma, kas darbojas uz datora —, kas gaida pieprasījumus un tos atbild. Kad atverat vietni, jūsu pārlūkprogramma (klients) nosūta pieprasījumu pa internetu, un kaut kur serveris atsūta lapu, attēlus vai datus. Katra lietotne, ko izmantojat, no e-pasta līdz internetbankai, paļaujas uz to, ka serveri to dara miljoniem reižu dienā.
Kāpēc serveri ir svarīgi, veidojot ar AI
Kad AI veidotājs jums izveido lietotni, daļa koda darbojas apmeklētāja pārlūkprogrammā, bet daļa parasti darbojas serverī. Servera daļa dara to, ko pārlūkprogrammai nevar uzticēt vai ko tā nevar izdarīt vienatnē:
- Datu saglabāšana un ielāde no datubāzes.
- Slepeno atslēgu glabāšana, piemēram, maksājumu vai AI pakalpojumu sniedzēju API atslēgas, kurām nekad nedrīkst nonākt pārlūkprogrammā.
- Atļauju pārbaude — nodrošinot, ka lietotājs var redzēt un mainīt tikai savus ierakstus.
- Sazināšanās ar citiem pakalpojumiem: kartes maksājuma veikšana, e-pasta sūtīšana, AI modeļa izsaukšana.
Zinot, ko dara serveris, palīdz saprast, kur patiesībā dzīvo jūsu lietotnes noteikumi, kāpēc dažām izmaiņām vajag atkārtotu publicēšanu un par ko maksājat, hostējot lietotni. Par abu pušu sadalījumu skatiet priekšējā un aizmugures daļa.
Ikdienas salīdzinājums
Serveris ir kā pasta nodaļas letes darbinieks. Viņš nemeklē klientus; viņš gaida. Klients pienāk ar pieprasījumu — „nosūtiet šo paku”, „vai man ir pasts?” —, darbinieks to apstrādā un atdod rezultātu. Viens darbinieks var apkalpot daudzus klientus pēc kārtas, un aizņemtā pasta nodaļā atver vairāk logu.
Pasta nodaļai ir arī noteikumi, ko klients nevar pārvarēt: lai saņemtu paku, jāuzrāda apliecība. Tāds ir servera uzdevums arī lietotnē — pārlūkprogramma var lūgt jebko, bet serveris izlemj, ko tā saņems.
Kā pieprasījums nonāk līdz serverim
Kad kāds apmeklē https://bookings.example.com/schedule:
- DNS meklēšana. Pārlūkprogramma vaicā domēnu nosaukumu sistēmai, uz kuru IP adresi norāda
bookings.example.com. Skatiet kā darbojas domēni un DNS. - Savienojums. Pārlūkprogramma savienojas ar šo adresi, HTTPS gadījumā pa 443. portu, un izveido šifrētu savienojumu. Skatiet kas ir HTTPS.
- Pieprasījums. Tā nosūta HTTP pieprasījumu:
GET /schedule. - Darbs. Serveris izpilda kodu, kas apstrādā
/schedule— iespējams, meklē šodienas rezervācijas datubāzē. - Atbilde. Tas nosūta atpakaļ statusa kodu (
200 OK) un saturu — HTML lapu vai JSON datus, ko lapa parāda.
Visa šī procedūra parasti aizņem mazāk par sekundes daļu.
Serveru veidi, par kuriem dzirdēsiet
| Termins | Ko nozīmē |
|---|---|
| Tīmekļa serveris | Programmatūra, kas atbild uz HTTP pieprasījumiem — sūta failus vai nodod pieprasījumus jūsu lietotnes kodam. |
| Lietojumprogrammas serveris / backend | Jūsu pašu kods, kas darbojas serverī: API, kas apstrādā rezervācijas, pieteikšanos un maksājumus. |
| Datubāzes serveris | Serveris, kura uzdevums ir glabāt un vaicāt datus — piemēram, Postgres datubāze, ar ko runā jūsu lietotne. |
| Failu / statiskais serveris | Sūta gatavus failus (HTML, attēlus, skriptus) bez pielāgota koda izpildes katram pieprasījumam. |
| Fiziskais serveris | Reāla ierīce statīvā datu centrā. |
| Virtuālā mašīna (VM) / VPS | Fiziskas ierīces daļa, kas darbojas kā pats dators. |
| Konteiners | Vieglāks iepakojums ar lietotni un visu, kas tai vajadzīgs, kas darbojas kopīgā ierīcē. Daudzas platformas lietotnes izvieto šādi. |
| Serverless | Jūs augšupielādējat kodu, un pakalpojumu sniedzējs to izpilda pēc pieprasījuma — uz serveriem, ko jūs nekad nepārvaldāt. Skatiet ko nozīmē serverless. |
Lūdzu, ņemiet vērā, ka „serveris” nozīmē gan ierīci, gan programmu. Teikums „serveris nokrita” var nozīmēt abus.
Praktisks piemērs: frizētavas rezervāciju lietotne
Šeit ir tas, ko serveris dara nelielā frizētavas rezervāciju lietotnē:
- Apmeklētājs atver vietni. Serveris (vai CDN tā priekšā) nosūta lapas failus.
- Lapa prasa serverim
GET /api/slots?date=2026-10-03. Serveris vaicā datubāzi par brīvajiem laikiem un atgriež tos kā JSON. - Apmeklētājs rezervē 14:00. Lapa nosūta
POST /api/bookings. Serveris pārbauda, ka laiks joprojām ir brīvs — tas neuzticas pārlūkprogrammas apgalvojumam —, saglabā rezervāciju un atgriež201 Created. - Serveris izsauc e-pasta pakalpojumu ar slepenu atslēgu, kas glabājas serverī, lai nosūtītu apstiprinājumu.
Ja izslēgtu serveri, lapa varbūt joprojām ielādētos no CDN, bet tā nevarētu rādīt laikus vai saglabāt rezervācijas.
Ko serverim vajag, lai darbotos labi
- Atmiņa (RAM) un CPU. Ja atmiņas ir par maz, lietotne slodzes laikā avarē; ja CPU ir par maz, tā palēninās.
- Darbība. Serveris, kas ir izslēgts, nevar atbildēt. Daži platformas iemidzina dīkstāvē esošas lietotnes un pamodina tās nākamajā apmeklējumā, kas ietaupa naudu, bet var padarīt pirmo pieprasījumu lēnāku.
- Konfigurācija un noslēpumi, kas tiek nodoti kā vides mainīgie.
- Žurnāli (logs) — servera ieraksts par notikušo, un tur vispirms skatāties, kad kaut kas noiet greizi.
- Atjauninājumi un drošības labojumi, ko pārvaldītais hostings veic jūsu vietā.
Biežākie nepareizi priekšstati
- „Mākonis nozīmē, ka serveru nav.” Mākonis ir citu uzņēmumu serveri, kas tiek īrēti pēc stundas vai lietojuma.
- „Serveris ir liels, īpašs dators.” Jebkurš dators var darboties kā serveris. Jūsu klēpjdators to dara, kad izstrādes laikā atverat
localhost. - „Ja poga ir paslēpta, lietotāji to nevar izdarīt.” Ikviens var nosūtīt pieprasījumus tieši uz jūsu serveri. Atļauju pārbaudes jāveic serverī, nevis tikai lapā.
- „Vairāk serveru novērš lēnumu.” Bieži īstais cēlonis ir lēns datubāzes vaicājums vai ārējs API. Vispirms atrodiet vājo vietu.
- „Lai ietu lietotnei, man jāpārvalda serveris.” Pārvaldītās platformas uztur serverus jūsu vietā; jūs izvietojat kodu, un tās rūpējas par ierīcēm.
Ko prasīt no sava AI veidotāja
- „Kuras šīs lietotnes daļas darbojas serverī un kuras pārlūkprogrammā?”
- „Glabā visas API atslēgas serverī un lasi tās no vides mainīgajiem.”
- „Pārbaudi atļaujas serverī katrā pieprasījumā, kas lasa vai maina datus.”
- „Kur atrast servera žurnālus un ko tie saka par šo kļūdu?”
- „Vai šai lietotnei vispār vajag serveri, vai tā var būt statiska vietne?”
- „Kas notiek ar pirmo pieprasījumu pēc tam, kad lietotne bijusi dīkstāvē?”
Serveri Mythex
Mythex jūs neiestatāt un nepārvaldāt serverus. Kamēr veidojat, jūsu lietotne darbojas privātā mākoņa smilškastē tiešraides priekšskatījumam. Kad publicējat, Mythex to izvieto: statiskās priekšējās daļas kā statiskas vietnes, bet backend (Node, Python, C#, Java un citi) kā konteinerus, kas veidoti no Dockerfile, bez hostinga konfigurēšanas pašam. Mythex izvēlas mašīnas izmēru izvietošanas brīdī: pēc noklusējuma 1 CPU un 512 MB atmiņas, un vairāk pieejams pēc pieprasījuma (līdz 1 GB Free plānā, un līdz 2 CPU, 4 GB un 3 mašīnām Pro plānā). Publicētās lietotnes dīkstāvē iemieg un pamostas nākamajā apmeklējumā, un guļoša lietotne neizmaksā neko par skaitļošanu. Detaļas ir dokumentācijā par API backend un hostinga ierobežojumiem, bet mūsu ceļvedis par tīmekļa hostingu aptver plašāku ainu.
Jautājumi
Kas ir serveris vienkāršos vārdos?
Serveris ir dators vai programma, kas darbojas uz datora, un kas gaida citu ierīču pieprasījumus un tos atbild. Kad atverat vietni, jūsu pārlūkprogramma prasa serverim lapu, un serveris to nosūta atpakaļ.
Vai serveris ir fiziska ierīce vai programmatūra?
Tiek lietotas abas nozīmes. „Serveris” var nozīmēt fizisku vai virtuālu datoru, vai programmu tajā, kas apstrādā pieprasījumus, piemēram, tīmekļa serveri. Lielākā daļa mūsdienu lietotņu darbojas virtuālajās mašīnās vai konteineros mākoņpakalpojumu sniedzēja datu centrā, nevis uz aparatūras, kas pieder jums.
Vai katrai vietnei vajag serveri?
Jā, kaut kam vienmēr jānosūta faili apmeklētājam. Statiskai vietnei pietiek ar vienkāršu failu serveri vai CDN. Lietotnei, kas glabā datus, apstrādā pieteikšanos vai glabā slepenas API atslēgas, vajag arī backend serveri, kas darbina jūsu pašu kodu.
Ko nozīmē localhost?
Localhost nozīmē „šis pats dators”. Izstrādātājs, kas darbina lietotni savā datorā, to atver adresē, piemēram, http://localhost:3000. Tikai šis dators var tai piekļūt; neviens cits to neredz, kamēr tā nav izvietota publiskā serverī.