> For the complete documentation index, see [llms.txt](https://vyspiansky.gitbook.io/introduction-to-web-development/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vyspiansky.gitbook.io/introduction-to-web-development/getting-started/webserver.md).

# Веб-сервер

### Що розуміють під поняттям веб-сервер? <a href="#sho-rozumiyut-pid-ponyattyam-veb-server" id="sho-rozumiyut-pid-ponyattyam-veb-server"></a>

Веб-серверами можуть бути комп'ютери або спеціальні програми, які виконують роль сервера. Коли користувач намагається отримати HTML-документ через рядок вводу адреси, то браузер посилає запит через протокол передачі даних HTTP. Коли запит досягає потрібного веб-сервера (залізо), сервер HTTP (програмне забезпечення) передає запитуваний документ назад, також через HTTP.

{% hint style="info" %}
HTTP (HyperText Transfer Protocol) — протокол передачі даних (гіпер-текстових документів). Веб-сервер використовує протокол HTTP для сполучення з клієнтом через TCP/IP-мережу.
{% endhint %}

{% hint style="info" %}
HTTPS (HyperText Transmission Protocol, Secure — протокол захищеної передачі гіпер-текстових документів) — HTTP в сукупності з SSL (Secure Sockets Layer) — протоколом захищених сокетів.
{% endhint %}

Веб-сервер може бути статичним або ж динамічним. Статичний сервер просто надсилає потрібні файли в браузер. Динамічний також вміє надсилати файли в браузер, але на ньому встановлене додаткове програмне забезпечення, яке перед відправкою в браузер змінює вихідні файли. По суті, на льоту генерується відповідь — виконуються обчислення, беруться дані з бази тощо.

### Apache і Nginx <a href="#apache-i-nginx" id="apache-i-nginx"></a>

Apache — найбільш популярний веб-сервер у світі. Проте чимало високонавантажених веб-сайтів використовують Nginx або комбінує їх. Наприклад, Nginx приймає запити і, в разі статичного файлу (зображення, файл CSS, JavaScript або XML) відразу ж віддає його вміст, а в разі, наприклад, PHP-скрипта, відправляє його до сервера Apache, який вже вміє обробляти PHP.

### Локальний HTTP-сервер <a href="#lokalnii-http-server" id="lokalnii-http-server"></a>

Якщо на початках для front-end разробки можна обійтись без локального HTTP-сервера, то для back-end’у він необхідний одразу ж.

Сучасний сайт являє собою не просто набір HTML-документів, але і включає в себе безліч технологій, бази даних та багато іншого.

Для вивчення серверних технологій не зручно та й не ефективно використовувати справжній доступний в мережі Інтернет сервер, тому варто встановити необхідний комплект програм на локальний комп'ютер і розробляти все на ньому.

Найбільш популярною зв'язкою таких програм є веб-сервер Apache, мова програмування PHP і система управління базами даних MySQL.
