# Веб-сервер

### Що розуміють під поняттям веб-сервер? <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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vyspiansky.gitbook.io/introduction-to-web-development/getting-started/webserver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
