Какво е уеб сървър (web server)?

Уеб сървър, на английски web server, е приложение, което може да се инсталира на компютър. В сферата на компютърните мрежи, такъв компютър се нарича сървър. Сървърът накратко представлява машина в мрежата, която предоставя услуга, получава заявки, обработва ги и връща отговор.

Всяко приложение, което иска информация от сървър, се нарича клиент. И всяка машина, която предоставя информация може да нарече сървър. Комуникацията клиент-сървър е типична за мрежовата архитектура за обмяна на информация в интернет. Възможно е дадена машина да бъде и сървър и клиент, в зависимост от това какво извършва в момента.

Уеб сървърът е компютърна програма, която предоставя различни видове съдържание до крайния потребител, например уеб страници, с помощта на HTTP протокола в глобалното www пространство.

Под уеб сървър (web server) се има предвид софтуера, който изпълнява тази функция. Пример за популярни уеб сървъри са Apache, IIS, Nginx, Google Web Server (GWS) и др. Терминът уеб сървър често се използва и като име на физическата машина, на който работи софтуера, като се визира ролята, която изпълнява.

Комуникация между уеб браузър и уеб сървър

Уеб сървърът приема и връща отговор на заявки направени по HTTP протокола от други приложения, наречени клиенти. Най-използваният клиент, който се свързва с уеб сървъра, е уеб браузърът.

Уеб браузърът се свързва с уеб сървъра, когато разглеждаме уебсайтове в World Wide Web (световната информационна мрежа или само уеб).

Освен уеб сървъри в интернет се срещат и други видове сървъри, предоставящи различни услуги. В зависимост от това какви приложения са инсталирани на тези сървъри, се наричат съответно мейл сървър, FTP сървър, DNS сървър и други.

Първият уеб сървър в интернет

CERN httpd (hypertext transfer protocol daemon) е първият уеб сървър в интернет.

Първият уеб сървър, първият уеб браузър и първата уеб страница са създадени по проекта World Wide Web (уеб) на английския учен Тим Бърнърс-Лий през 1991 г. в института на ЦЕРН (Европейската организация за ядрени изследвания, Женева, Швейцария).

Уеб сървърът (HTTP daemon) представлява програма, която е инсталирана и се изпълнява на компютъра (сървъра), където се намират уеб страниците.

При Unix базираните системи daemon, на български „демон“, е програма която работи във фонов режим и изпълнява определени служебни функции. Стандартно имената на този вид програми завършват с буквата „d“ например httpd (уеб сървър), ftpd (FTP сървър), named (DNS сървър), memcached (Memcache сървър) и други.

HTTP демонът (уеб сървърът) е постоянно стартиран и очаква постъпването на HTTP заявки от клиенти на компютърната мрежа.

В HTTP заявките се съдържат определени методи за поискване на информация от уеб сървъра. Тези методи са описани в спецификацията на HTTP протокола. Най-често срещаните са GET и POST, останалите са HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT.

Най-разпространени уеб сървъри:

Има множество уеб сървъри, но тези които се ползват масово, са няколко. Почти сигурно е, че когато отворите някоя страница, съдържанието е доставено до вас чрез някой от следните сървъри:

  • Apache;
  • Nginx;
  • Microsoft IIS;
  • Google Web Server (GWS).

Клиент-сървър комуникационен модел

Един от най-разпространените модели за комуникация в интернет е моделът Клиент-Сървър. Този модел описва отношенията между две компютърни програми.

Една от тях наричаме клиент, който заявява дадена услуга, информация или ресурс от друга програма, която наричаме сървър – той от своя страна обработва и изпълнява заявката, като предоставя заявения ресурс.

Програмите могат да работят на един и същи компютър или да бъдат на отделни машини, като в този случай комуникацията се извършва по мрежата. Коя програма е клиент и коя – сървър, се определя от това каква роля изпълнява. Ако предоставя услуга/ресурс е сървър, а ако е консуматор я наричаме клиент.

Как работят уеб сървърите?

Когато искаме да отворим дадена страница, въвеждаме адреса ѝ в браузъра си (това е клиента). Той анализира въведения адрес (URL) и от него извлича информация за това къде трябва да изпрати заявката и чрез какъв протокол.

След това изпраща заявката към машината, на която се съхранява желаната страница. На тази машина работи програма – уеб сървър, която е в постоянно очакване за клиентски заявки.

Когато нашата заявка достигне до уеб сървъра, той също анализира URL адреса и от него извлича информация за това какво точно съдържание се изисква (текст, изображение, анимация, аудио, видео …) и къде се съхранява то. След като тези неща са установени, съдържанието бива изпратено към клиента.

Интернет браузърът получава отговора на сървъра и го изобразява на екрана, като го форматира според инструкциите в .css (предимно) или други (.html, .php …) файлове.

В действителност процесите са доста по-сложни, тъй като уеб сървърите взаимодействат с трети приложения като сървър за бази данни, кеширащи и защитни приложения, и др. Детайлна информация може да прочетете в следните статии:

https://bg.wikipedia.org/wiki/%D0%A3%D0%B5%D0%B1

https://en.wikipedia.org/wiki/World_Wide_Web

Какво е URL?

URL (Uniform Resource Locator) е адресът, който изписваме в браузъра. Той съдържа в себе си следната информация:

  • Протоколът, по който се свързваме със сървъра (HTTP/HTTPS);
  • Хост името (домейн или IP адрес), където се съхранява страницата;
  • Накрая какъв е типът на исканото съдържанието и къде точно се намира то на сървъра.

Да вземем за пример следният URL адрес: https://help.superhosting.bg/what-is-web-server.html. След като го въведем в браузър, нашият компютър може да извлече следната информация :

  • Символите https показват протокола, през който браузърът ще се свърже със сървъра. HTTPS означава, че търсеният сайт е защитен със SSL сертификат и връзката ще бъде криптирана (защитена);
  • Името на сървъра, където се съхранява съдържанието – help.superhosting.bg. Чрез запитване към DNS системата браузърът получава IP адреса на сървъра, където е конфигуриран домейна, и изпраща заявката;
  • Последната част от URL адреса: what-is-web-server.html казва на уеб сървъра какво съдържание търсим и къде се намира то. В случая това е HTML файл и се намира в основната директория на сайта.

Каква е основната функция на уеб сървърите?

Основната функция на уеб сървъра е да съхранява съдържанието на уеб страниците, уеб приложения и други, да получава и обработва заявки, идващи от клиенти (браузъри) и да отговаря на тези заявки, изпращайки съответното съдържание към клиента.

С развитието на технологиите, съдържанието на уеб страниците става все по-разнообразно и с това се разширяват функциите и възможностите на уеб сървърите.

Ако някога функциите им се свеждаха до това да предоставят текст и изображения при поискване, днес се използват за съхранение и обслужване на всякакъв вид сложни приложения, като уеб услуги, контролни панели, социални медии и други.

Кой е основният протокол, с който работят уеб сървърите?

Основният протокол, чрез който се получават заявките и се изпраща съдържанието, се нарича HTTP – Hypertext Transfer Protocol, а основният формат на уеб страниците е HTML – Hypertext Markup Language.

Какво е HTTP?

HTTP е съкращение от Hypertext Transfer Protocol и е един от основните протоколи за пренос на информация в мрежата. Това е протоколът, чрез който комуникират браузърите и уеб сървърите и чрез който страниците достигат до нашите компютри. Подробна информация може да намерите на следната страница:

https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

Какво е HTML?

HTML (Hypertext Markup Language) е стандартният маркиращ език за дизайн на уеб страници. Чрез него отделни пасажи се маркират с етикети (HTML Tags) и към тях да се прилагат определени атрибути и свойства. Могат да се вграждат мултимедийни елементи, както и да се създават интерактивни форми.

Браузърите интерпретират HTML и визуализират съдържанието на страниците. Преди време сайтовете бяха съставени предимно от статични HTML страници, докато днес в повечето сайтове се ползват езици като PHP, Perl, Javascript, чрез които HTML се генерира динамично и прави web съдържанието още по-атрактивно.

Какво се случва при зареждането на даден уебсайт?

За да достъпите даден уеб сайт в уеб, е необходимо да имате инсталирано специално приложение на компютъра, например уеб браузър.

Когато името на сайта е въведено, за да зареди някакво съдържание уеб браузърът първо трябва да открие на кой сървър се намират уеб страниците на този сайт. Това става като извърши DNS проверка на домейн името на сайта.

Как точно уеб браузърът открива местонахождението на даден уеб сайт и какво е DNS можете да разберете от статиите: Що е то DNS и какво е важно да знаем? (част 1) и (част 2).

След като разбере кой е сървъра, уеб браузърът се свързва с инсталирания на него уеб сървър.

Контактът между двете приложения – уеб браузър и уеб сървър, се осъществява с TCP/IP протоколите за свързване в интернет. Мястото на срещата, по подразбиране, е на територията на уеб сървъра на комуникационен порт номер 80. А езикът, на който двете приложения си говорят, е протоколът за пренос на хипертекст HTTP (HyperText Transfer Protocol).

През първите години на World Wide Web всяка уеб страница се е намирала локално на компютъра на потребителя, който я е създал. За да може уеб страницата да е достъпна в уеб, е трябвало на същия компютър да се инсталира и уеб сървър.

В днешно време хостинг услугите ползват същата тази технология, като на всеки хостинг сървър има инсталиран уеб сървър и уеб страниците се намират на същият този хостинг сървър.

Например изписваме в уеб браузър уеб адреса: help.superhosting.bg/domain-name-system.html

Когато уеб браузърът се свърже с уеб сървъра, преди да се зареди уеб страницата се случва следното:

  • уеб браузърът установява връзка с уеб сървъра на порт 80 (http);
  • уеб браузърът изпраща заявка до уеб сървъра за уеб страницата, например GET domain-name-system.html;
  • уеб сървърът връща отговор с HTML кода, който се намира в търсения файл;
  • уеб браузърът чете този HTML код и изгражда уеб страницата на екрана.

Уеб сървър като услуга

Като всяка програма уеб сървърите имат определени изисквания към средата, но могат да работят и на всеки наличен компютър. Когато обаче искаме даден уебсайт да бъде достъпен до широка публика без прекъсване, тогава задачата вече не е толкова проста. В много случаи уебсайтовете са важна част от даден бизнес и са източник на средства. Това поставя по-високи изисквания към тяхното хостване.

Трябва да се осигури непрекъснато електрозахранване, постоянна интернет връзка, техническа поддръжка, защита и наблюдение, за да бъдем сигурни, че съдържанието им ще бъде достъпно по всяко време. Поради тази причина уебсайтовете и съответно уеб сървърите работят на сървърен хардуер, в специални колокационни центрове, където са осигурени необходимите условия, за да се поддържа качеството на услугата.

Самите уеб сървъри, като софтуер, имат множество особености и изискват настройка и грижа. Това е задачата на хостинг компаниите – да осигурят оптимални условия за съхранение и обслужване на уеб съдържанието.

Ако става въпрос за комерсиален сайт с хиляди посещения на ден, неговото поддържане е невъзможно в домашни условия на собствен компютър. Ето защо сайтовете масово се съхраняват и обслужват от хостинг компании, които разполагат с нужния опит и необходимите условия за целта.

Обновена: 21.09.2021

Беше ли Ви полезна тази статия?

Вижте още