Веб-сервер
Що розуміють під поняттям веб-сервер?
Веб-серверами можуть бути комп'ютери або спеціальні програми, які виконують роль сервера. Коли користувач намагається отримати HTML-документ через рядок вводу адреси, то браузер посилає запит через протокол передачі даних HTTP. Коли запит досягає потрібного веб-сервера (залізо), сервер HTTP (програмне забезпечення) передає запитуваний документ назад, також через HTTP.
HTTP (HyperText Transfer Protocol) — протокол передачі даних (гіпер-текстових документів). Веб-сервер використовує протокол HTTP для сполучення з клієнтом через TCP/IP-мережу.
HTTPS (HyperText Transmission Protocol, Secure — протокол захищеної передачі гіпер-текстових документів) — HTTP в сукупності з SSL (Secure Sockets Layer) — протоколом захищених сокетів.
Веб-сервер може бути статичним або ж динамічним. Статичний сервер просто надсилає потрібні файли в браузер. Динамічний також вміє надсилати файли в браузер, але на ньому встановлене додаткове програмне забезпечення, яке перед відправкою в браузер змінює вихідні файли. По суті, на льоту генерується відповідь — виконуються обчислення, беруться дані з бази тощо.
Apache і Nginx
Apache — найбільш популярний веб-сервер у світі. Проте чимало високонавантажених веб-сайтів використовують Nginx або комбінує їх. Наприклад, Nginx приймає запити і, в разі статичного файлу (зображення, файл CSS, JavaScript або XML) відразу ж віддає його вміст, а в разі, наприклад, PHP-скрипта, відправляє його до сервера Apache, який вже вміє обробляти PHP.
Локальний HTTP-сервер
Якщо на початках для front-end разробки можна обійтись без локального HTTP-сервера, то для back-end’у він необхідний одразу ж.
Сучасний сайт являє собою не просто набір HTML-документів, але і включає в себе безліч технологій, бази даних та багато іншого.
Для вивчення серверних технологій не зручно та й не ефективно використовувати справжній доступний в мережі Інтернет сервер, тому варто встановити необхідний комплект програм на локальний комп'ютер і розробляти все на ньому.
Найбільш популярною зв'язкою таких програм є веб-сервер Apache, мова програмування PHP і система управління базами даних MySQL.