WEB-СЕРВЕРИ

Web-сервер (або HTTP-сервер) - це серверна програма, яка працює у фоновому режимі, яка очікує запити користувачів і виконує їх обробку. Web-сервер приймає HTTP-запити від клієнтів (зазвичай web-браузерів) і повертає їм HTTP-відповіді [зазвичай разом з web-сторінками (HTML-документами)]. Web-сервери становлять основу web-мережі. Найбільш використовувані за даними компанії Netcraft [1] в січні 2013 р web-ссрвсри показані в табл. 2.1.

Таблиця 2.1

Список найбільш відомих web-cepвepoв

Виробник

система

Кількість підтримуваних web-сайтів

відсоток

Apache

Apache

348 119 032

52,26%

Microsoft

Internet Information Services (IIS)

106 619 177

16,93%

Nginx, Inc

engine x (nginx)

79 640 472

12,64%

Google

Google Web Server (GWS)

22 573 858

3,58%

Опис роботи web-сервера

Web-сервери і браузери обмінюються між собою НТТР-повідомленнями. Сервери отримують і обробляють HTTP-запити, визначають місце розташування запитуваних ресурсів і виконують до них доступ, формують відповіді, які вони відправляють назад браузерам, які зробили ці запити. На рис. 2.1 показано, як web-сервер обробляє запити, що надходять, формує на них відповіді і передає їх запитувачу браузеру.

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

Модуль попередньої обробки запиту включає:

1. Віртуальний хостинг : якщо web-сервер надає доступ до декількох web-сайтам, які мають різні доменні імена, то для надійшов запиту потрібно визначити цільовий web-сайт і використовувати його для вибору параметрів конфігурації.

Обробка сервером НТТР-запитів

Мал. 2.1. Обробка сервером НТТР-запитів

  • 2. Дозвіл адреси : визначення типу запитуваної контенту - статичний або динамічний; на основі заданого URL-шляху і вибраних параметрів конфігурації сервера виконується дозвіл URL-адреси (т. е. його перетворення) в реальну адресу в файлової системі сервера.
  • 3. Аутентифікація : якщо запитуваний ресурс є захищеним, то потрібно перевірити дані авторизації (ім'я та пароль), щоб визначити, чи має право користувач використовувати даний ресурс.

Після завершення попередньої обробки запит передається модулю обробки запиту , який викликає підмодулі для виконання відповідної обробки статичного і динамічного контенту. Якщо запит звертається до динамічного контенту, то сервер передає дані на виконання деякої середовищі: контейнеру сервлетів або сервера додатків, які виконуються в інших процесах. Дане середовище управляє виконанням web-додатків:

  • • організовує взаємодію web-сервера з додатком (передає дані повідомлення і параметри сервера з додатком і повертає сформований код сервера);
  • • запускає якої потрібно прочитати інструкції на виконання;
  • • вирішує додаткові завдання (управління станом сеансу роботи, підтримку черги повідомлень, управління кешем і т. П.).

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

Стан сеансу роботи в формі інформації, пов'язаної з сеансом, може підтримуватися web-додатками або середовищами, в яких вони виконуються (наприклад, контейнерами сервлетів), але посилання на цю інформацію повинна міститися в самому запиті (наприклад, за допомогою cookie або спеціального URL- адреси).

Крім цього, web-сервери можуть виконувати різні додаткові функції, наприклад:

  • • ведення журналу звернень користувачів до ресурсів;
  • • виконання аутентифікації та авторизації користувачів;
  • • підтримку HTTPS для захищених з'єднань з клієнтами. Web-сервери можуть надавати як статичний, так і динамічний контент. Під статичним контентом розуміються файли, такі як HTML-сторінки, XML-документи, простий текст, зображення, аудіо та відеофайли, які передаються без зміни в тілі НТТР- відповідей сервера. Для динамічного формування контенту сервер повинен запустити на виконання деяку програму, що створює дані, які будуть міститися в тіло НТТР-відповіді.

Web-сервери використовують комбінацію розширень запитуваних файлів, URL-префіксів і файли конфігурації для визначення того, який спосіб обробки повинен бути використаний, щоб сформувати відповідь. За умовчанням передбачається, що URL повинен оброблятися як запит до статичної web-сторінці.

При установці сервера виділяється каталог (папка), з яким він може працювати. Наприклад, для сервера IIS (Inernet Information Services операційної системи Windows) але умовчанням створюється папка з ім'ям inetpub, в якій зберігаються ресурси, що надаються web-ссрвсру. Крім фізичних папок, розташованих в даному місці, сервер може використовувати так звані віртуальні папки. Віртуальні папки описані в файлах конфігурації web-сервера, а розташовуватися можуть в різних місцях зовнішньої пам'яті комп'ютера, на якому встановлений сервер, або в локальній мережі сервера (із завданням прав доступу до цих папок).

  • [1] lmp: //news.netcraft.con/archive&/2013/01/07/jamiary-2013-web-server-survey-2.html
 
< Попер   ЗМІСТ   Наст >