Що таке сервер? Простий посібник для тих, хто створює застосунки
Сервер — це комп'ютер або програма, що працює на комп'ютері, яка чекає на запити і відповідає на них. Коли ви відкриваєте сайт, ваш браузер (клієнт) надсилає запит через інтернет, а сервер десь у світі повертає сторінку, зображення або дані. Кожен застосунок, яким ви користуєтесь, від пошти до онлайн-банкінгу, спирається на сервери, які роблять це мільйони разів на день.
Чому сервери важливі, коли ви створюєте з ШІ
Коли конструктор на основі ШІ створює для вас застосунок, частина коду виконується в браузері відвідувача, а частина зазвичай — на сервері. Серверна частина робить те, чому браузеру не можна довіряти або що він не може зробити сам:
- Збереження й завантаження даних з бази даних.
- Зберігання секретів, як-от ключі платіжних або AI-провайдерів, які ніколи не мають потрапляти в браузер.
- Перевірка прав доступу — гарантія, що користувач бачить і змінює лише свої записи.
- Взаємодія з іншими сервісами: списання з картки, надсилання листа, виклик моделі ШІ.
Знання того, що робить сервер, допомагає зрозуміти, де насправді живуть правила вашого застосунку, чому деякі зміни потребують повторної публікації і за що ви платите, коли хостите застосунок. Про поділ між двома половинами див. фронтенд проти бекенду.
Побутова аналогія
Сервер — як працівник стійки на пошті. Він не ходить шукати клієнтів; він чекає. Клієнт підходить із запитом — «відправте посилку», «чи є для мене лист?» — працівник виконує його і віддає результат. Один працівник може обслуговувати багатьох клієнтів один за одним, а в завантажений день відкривають більше віконець.
У пошти також є правила, які клієнт не може обійти: щоб отримати посилку, треба показати документ. Це і є роботою сервера в застосунку — браузер може попросити що завгодно, але сервер вирішує, що отримає.
Як запит доходить до сервера
Коли хтось відвідує https://bookings.example.com/schedule:
- Пошук DNS. Браузер питає систему доменних імен, на яку IP-адресу вказує
bookings.example.com. Див. як працюють домени та DNS. - З'єднання. Браузер підключається до цієї адреси на порт 443 для HTTPS і встановлює зашифроване з'єднання. Див. що таке HTTPS.
- Запит. Він надсилає HTTP-запит:
GET /schedule. - Робота. Сервер виконує код, який обробляє
/schedule, — можливо, шукає сьогоднішні бронювання в базі даних. - Відповідь. Він надсилає код статусу (
200 OK) і вміст — HTML-сторінку або дані у форматі JSON, які сторінка відображає.
Усе це зазвичай займає частку секунди.
Види серверів, про які ви почуєте
| Термін | Що означає |
|---|---|
| Веб-сервер | Програма, що відповідає на HTTP-запити — надсилає файли або передає запити коду вашого застосунку. |
| Сервер застосунку / бекенд | Ваш власний код на сервері: API, що обробляє бронювання, входи та платежі. |
| Сервер бази даних | Сервер, чиє завдання — зберігати та запитувати дані, як Postgres, з яким говорить ваш застосунок. |
| Файловий / статичний сервер | Надсилає готові файли (HTML, зображення, скрипти) без запуску власного коду для кожного запиту. |
| Фізичний сервер | Справжня машина в стійці дата-центру. |
| Віртуальна машина (VM) / VPS | Частина фізичної машини, яка поводиться як окремий комп'ютер. |
| Контейнер | Легший пакет застосунку з усім необхідним, що працює на спільній машині. Багато платформ розгортають застосунки саме так. |
| Serverless | Ви завантажуєте код, а провайдер запускає його за потреби — на серверах, якими ви ніколи не керуєте. Див. що означає serverless. |
Зверніть увагу: «сервер» означає і машину, і програму. Фраза «сервер впав» може стосуватися будь-чого з них.
Практичний приклад: застосунок для запису в салон краси
Ось що робить сервер у невеликому застосунку для запису в салон:
- Відвідувач відкриває сайт. Сервер (або CDN перед ним) надсилає файли сторінки.
- Сторінка питає у сервера
GET /api/slots?date=2026-10-03. Сервер робить запит до бази даних про вільні години і повертає їх у форматі JSON. - Відвідувач записується на 14:00. Сторінка надсилає
POST /api/bookings. Сервер перевіряє, що година все ще вільна — він не довіряє браузеру на слово, — зберігає бронювання і повертає201 Created. - Сервер викликає сервіс пошти з секретним ключем, що зберігається на сервері, щоб надіслати підтвердження.
Якщо ви вимкнете сервер, сторінка може все ще завантажуватися з CDN, але не зможе показувати години або зберігати бронювання.
Що потрібно серверу для нормальної роботи
- Пам'ять (RAM) і процесор. Замало пам'яті — і застосунок падає під навантаженням; замало процесора — і він сповільнюється.
- Працювати. Вимкнений сервер не може відповідати. Деякі платформи переводять неактивні застосунки в сон і прокидають їх на наступний візит, що заощаджує гроші, але може зробити перший запит повільнішим.
- Конфігурація і секрети, які передаються як змінні середовища.
- Журнали (логи) — запис сервера про те, що відбувалося, і це перше, куди дивитися, коли щось ламається.
- Оновлення і патчі безпеки, які для керованого хостингу виконує платформа.
Типові хибні уявлення
- «Хмара означає відсутність серверів». Хмара — це сервери інших компаній, які ви орендуєте за годину або за використання.
- «Сервер — це велика спеціальна машина». Будь-який комп'ютер може бути сервером. Ваш ноутбук запускає сервер, коли ви відкриваєте
localhostпід час розробки. - «Якщо кнопка прихована, користувачі не зможуть її натиснути». Будь-хто може надсилати запити напряму на ваш сервер. Перевірки прав мають відбуватися на сервері, а не лише на сторінці.
- «Більше серверів вирішує проблему повільності». Часто справжня причина — повільний запит до бази даних або зовнішнє API. Спершу знайдіть вузьке місце.
- «Щоб мати застосунок, треба керувати сервером». Керовані платформи запускають сервери за вас; ви розгортаєте код, а вони займаються машинами.
Що запитати у вашого конструктора на основі ШІ
- «Які частини цього застосунку працюють на сервері, а які — в браузері?»
- «Тримай усі API-ключі на сервері і зчитуй їх зі змінних середовища».
- «Перевіряй права доступу на сервері для кожного запиту, який читає або змінює дані».
- «Де знайти журнали сервера і що вони кажуть про цю помилку?»
- «Чи взагалі цьому застосунку потрібен сервер, чи він може бути статичним сайтом?»
- «Що станеться з першим запитом після того, як застосунок був неактивним?»
Сервери в Mythex
У Mythex ви не налаштовуєте і не керуєте серверами. Поки ви будуєте, ваш застосунок працює в приватній хмарній пісочниці для живого попереднього перегляду. Коли ви публікуєте, Mythex його розгортає: статичні фронтенди як статичні сайти, а бекенди (Node, Python, C#, Java та інші) як контейнери, зібрані з Dockerfile, — без жодного налаштування хостингу з вашого боку. Розмір машини Mythex обирає під час розгортання: за замовчуванням 1 CPU і 512 МБ пам'яті, більше — за запитом (до 1 ГБ на Free, а на Pro — до 2 CPU, 4 ГБ і 3 машин). Опубліковані застосунки засинають у неактивності й прокидаються на наступний візит, а засинаючий застосунок не витрачає ресурсів обчислень. Деталі — у документації про API-бекенди і ліміти хостингу, а наш посібник про веб-хостинг охоплює ширшу картину.
Запитання
Що таке сервер простими словами?
Сервер — це комп'ютер або програма на ньому, які чекають запитів від інших пристроїв і відповідають на них. Коли ви відкриваєте сайт, ваш браузер просить сервер про сторінку, а сервер надсилає її назад.
Сервер — це фізична машина чи програма?
Використовуються обидва значення. «Сервер» може означати фізичний або віртуальний комп'ютер, або програму на ньому, що обробляє запити, як-от веб-сервер. Більшість сучасних застосунків працює на віртуальних машинах або контейнерах у дата-центрі хмарного провайдера, а не на обладнанні, яким ви володієте.
Чи потрібен сервер кожному сайту?
Так, щось завжди має надсилати файли відвідувачеві. Статичному сайту достатньо простого файлового сервера або CDN. Застосунку, який зберігає дані, обробляє входи в акаунт або зберігає секретні API-ключі, також потрібен бекенд-сервер, що виконує ваш власний код.
Що означає localhost?
Localhost означає «цей самий комп'ютер». Розробник, який запускає застосунок на своєму пристрої, відкриває його за адресою на кшталт http://localhost:3000. Достукатися до нього може лише цей комп'ютер; ніхто інший не побачить його, доки він не буде розгорнутий на публічному сервері.