Глосарій

Словник веб-розробника

Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.

228 термінів
47 літер
H
Headless CMS
Headless CMS — система управління контентом без вбудованого фронтенду («голови»). Контент зберігається і редагується в CMS, але віддається через API (REST або GraphQL), а відображення повністю контролює розробник. Headless vs Traditional CMS Traditional (WordPress, Drupal) — CMS рендерить HTML. Фронтенд і бекенд жорстко зв'язані Headless — CMS лише керує контентом і видає API. Фронтенд — будь-який: React, Vue, мобільний, digital signage Переваги Один контент → кілька каналів (веб, мобільний, IoT) Свобода у виборі технологій фронтенду Краща продуктивність — статичний фронтенд + CDN Популярні Headless CMS SaaS: Contentful, Sanity, Strapi (self-hosted), Directus (self-hosted), Prismic. Git-based: Netlify CMS, Tina CMS — контент у Git-репозиторії.
Health Check
Health Check — endpoint або механізм, що дозволяє зовнішній системі (балансувальник, оркестратор) перевірити, чи готовий сервіс обробляти запити. Якщо сервіс «нездоровий» — його виключають з ротації.ТипиLiveness — чи живий процес? Якщо ні — перезапустити. Простий: GET /up → 200 OKReadiness — чи готовий приймати трафік? Перевіряє з'єднання з БД, Redis, залежностями. Якщо ні — виключити з балансувальника, але не перезапускатиStartup probe — додатковий час при старті (довгий bootstrap)Що перевіряти в readinessПідключення до БД (ping)Підключення до RedisКритичні зовнішні сервісиДостатньо вільної пам'яті і дискового просторуФормат відповідіGET /health → 200 {"status":"ok","db":"ok","redis":"ok"} → 503 {"status":"degraded","db":"error"}
Heap, Stack і пам'ять
Stack і Heap — два регіони пам'яті, що використовуються програмами по-різному. Розуміння їх допомагає діагностувати витоки пам'яті і stack overflow. Stack (стек викликів) Автоматично керована пам'ять для локальних змінних і call frames. Коли функція викликається — її дані додаються на стек. При поверненні — видаляються. Stack overflow = рекурсія занадто глибока, стек переповнений. Heap (купа) Динамічна пам'ять для об'єктів з невизначеним часом життя. Виділяється при new Object(), звільняється garbage collector'ом. Memory leak = об'єкти не звільняються, бо є «зайві» посилання на них. У PHP Скаляри (int, string, bool) — зазвичай на стеку Об'єкти і масиви — на купі, управляються reference counting memory_get_usage() — поточне споживання memory_limit у php.ini — максимум для одного процесу
HTTP-кешування (Cache-Control)
HTTP-кешування дозволяє браузеру і проксі зберігати відповіді і не звертатись до сервера повторно. Керується заголовком Cache-Control та пов'язаними заголовками. Правильне кешування — найшвидша оптимізація: найкращий запит той, що не надсилається. Ключові директиви Cache-Control max-age=3600 — кешувати N секунд no-cache — завжди перевіряти актуальність на сервері (але можна використати кеш якщо 304 Not Modified) no-store — взагалі не кешувати (конфіденційні дані) public — можна кешувати проксі і CDN private — лише браузер (персональні дані) immutable — вмістніколи не зміниться; браузер не перевіряє до закінчення max-age ETag і Last-Modified ETag — хеш вмісту. При повторному запиті браузер відправляє If-None-Match. Сервер повертає 304 Not Modified якщо вміст не змінився — без тіла відповіді. Економія трафіку. Стратегія для статики Статичні файли з хешем в імені (app.abc123.js) — Cache-Control: public, max-age=31536000, immutable. Нескінченний кеш — новий деплой = новий хеш = новий URL.
HTTP-коди статусу
HTTP-код статусу — тризначне число у відповіді сервера, що описує результат запиту. Перша цифра визначає клас: 2xx — успіх, 3xx — перенаправлення, 4xx — помилка клієнта, 5xx — помилка сервера.Найважливіші коди200 OK — успішний запит201 Created — ресурс створений (після POST)204 No Content — успішно, без тіла відповіді (DELETE)301 Moved Permanently — постійний редирект304 Not Modified — кешована версія актуальна400 Bad Request — неправильні дані від клієнта401 Unauthorized — не автентифікований403 Forbidden — автентифікований, але немає прав404 Not Found — ресурс не існує422 Unprocessable Entity — валідація провалилась429 Too Many Requests — rate limit500 Internal Server Error — помилка сервера503 Service Unavailable — сервер тимчасово недоступний
HTTP-методи
HTTP-методи визначають тип операції над ресурсом. REST API використовує їх семантично: метод виражає намір запиту, а не тільки передає дані. Основні методи GET — отримати ресурс. Ідемпотентний, безпечний, кешується POST — створити ресурс або виконати дію. Не ідемпотентний PUT — повністю замінити ресурс. Ідемпотентний PATCH — частково оновити ресурс. Зазвичай не ідемпотентний DELETE — видалити ресурс. Ідемпотентний HEAD — як GET, але без тіла відповіді. Для перевірки існування/метаданих OPTIONS — повертає дозволені методи. Використовується в CORS preflight Safe vs Idempotent Safe — не змінює стан сервера (GET, HEAD, OPTIONS) Idempotent — повторний виклик дає той самий результат (GET, PUT, DELETE) POST — ні safe, ні idempotent
HTTP/2
HTTP/2 — друга мажорна версія протоколу HTTP, прийнята у 2015 році. Вирішує ключові проблеми HTTP/1.1: блокування черги (head-of-line blocking) і накладні витрати на відкриття нових з'єднань.Ключові покращенняМультиплексування — кілька запитів і відповідей одночасно через одне TCP-з'єднання. Кінець обмеженню «6 паралельних з'єднань» браузераServer Push — сервер може надіслати ресурс ще до того, як клієнт його запросивHeader Compression (HPACK) — заголовки стискаються і не повторюються без змінБінарний протокол — замість текстового, ефективніший для парсингуHTTP/3Наступний крок — HTTP/3 на базі QUIC (UDP замість TCP). Вирішує head-of-line blocking на рівні транспорту. Підтримується браузерами і CDN, але потребує специфічної серверної конфігурації.
HTTP/3 і QUIC
HTTP/3 — третя мажорна версія HTTP, що використовує QUIC (UDP) замість TCP. Вирішує фундаментальну проблему HTTP/2: head-of-line blocking на транспортному рівні. Підтримується більшістю браузерів і CDN. Чому QUIC замість TCP HTTP/2 мультиплексує запити в одному TCP-з'єднанні. Але TCP гарантує порядок: втрата одного пакета блокує всі наступні. QUIC — поверх UDP — ізолює потоки: втрата пакета блокує лише один стрім, решта продовжують. Переваги HTTP/3 0-RTT з'єднання — повторне підключення до відомого сервера без додаткового handshake Вбудоване TLS 1.3 — шифрування частина протоколу, не окремий шар Краще на мобільних — QUIC коректно обробляє зміну IP (роумінг) Підтримка Cloudflare, Google, Facebook, Chrome, Firefox — все підтримує HTTP/3. Для Nginx потрібен quiche або окрема збірка. Для більшості застосунків — прозоро через CDN.
HTTPS / TLS
HTTPS — HTTP поверх TLS-шифрування. Захищає дані від перехоплення (man-in-the-middle) і підтверджує, що ви спілкуєтесь саме з тим сервером, а не підробкою. Без HTTPS браузери позначають сайт як «небезпечний», а SEO-рейтинг падає.Як TLS працює (спрощено)Сервер надсилає TLS-сертифікат (підписаний довіреним CA)Клієнт перевіряє підпис і генерує симетричний ключ сесіїВесь подальший обмін зашифрований цим ключемСертифікатиLet's Encrypt — безкоштовні сертифікати, автоматичне оновлення через CertbotDV / OV / EV — рівні валідації: тільки домен, організація або розширена перевіркаHTTP Strict Transport SecurityЗаголовок Strict-Transport-Security забороняє браузеру звертатись до сайту по HTTP — навіть якщо користувач вручну введе http://.