Обзор различных web-серверов

Автор: Рылва А.А., Мелузов О.В.

Журнал: Форум молодых ученых @forum-nauka

Статья в выпуске: 12-3 (28), 2018 года.

Бесплатный доступ

В данной статье будут рассмотрены различные web-сервера. В наше время сложно представить человека, который никогда не слышал слово «web-сервер», но не каждый сможет хотя бы примерно описать, что это и для чего нужно. Данная работа поможет разобраться для что же такое web-сервер, как мы его используем и какие типы бывают.

Web-сервер, запрос, локальный сервер, браузер, всемирная паутина, веб-адрес

Короткий адрес: https://sciup.org/140281173

IDR: 140281173

Текст научной статьи Обзор различных web-серверов

Использование интернета для современного человека является чем – то привычным и обыденным. Он ворвался с невероятной скоростью в наш быт, приучил к себе и не хочет отпускать. Каждый день мы пролистываем десятки сайтов во всемирной паутине, но задумывались ли Вы когда – нибудь, что же эта самая паутина или глобальная сеть из себя представляет?

Понятие «Веб-сервер» можно рассмотреть с двух точек зрения:

  • 1.    С одной стороны - «железа», можно сказать, что Веб – сервер – компьютер, хранящий ресурсы сайта, такие как JavaScript файлы, HTML документы, CSS шаблоны и др. и доставляющий эти ресурсы на устройства пользователя (web - браузер и т.д.).

  • 2.    С другой точки зрения – программное обеспечение (далее ПО), можно сказать, что Веб-сервер состоит из некоторого набора инструментов, контролирующих доступ пользователей к файлам, находящимся на сервере (для этого точно используются HTTP сервера). HTTP сервер -это часть ПО, понимающая веб-адреса (URL’ы) и HTTP (HTTP -протокол – это такой протокол, который использует ваш веб – браузер, чтобы просматривать веб-страницы). [1]

Проще говоря, Если Вашему веб – браузеру необходим файл, который находится на сервере, то он получает его с помощью запроса к HTTP. В момент достижения необходимого сервера («железо»), HTTP сервер (ПО) передает нужный документ (запрашиваемый) обратно снова через HTTP.

Таким образом, веб – сервер позволяет браузеру клиента получить сайт.

Как мы поняли по определению первому сервер можно создать из любого компьютера. Естественно потребуется специальная необходимая оболочка для этого.

Выбор компьютера определяется необходимой скоростью и объемом ресурсов, размещенных на веб – сервере. Итак, мощность «железа» выбирается исходя из этих характеристик, естественно, прямо пропорционально.

Приведем пример:

Если Вам требуется книга, то Вы идете в библиотеку и просите то, что нужно. Сотрудник библиотеки после поиска выдает вам желаемую литературу. В данном примере библиотека является сервером, в котором хранятся данные. Сотрудник – оболочка, принимающая Ваш запрос и дающая ответ. Вы – клиент сервера. Если нужно получить дополнительную информацию, касающуюся книги, то у Вас есть возможность запросить ее у библиотекаря, таким образом, это аналогично клику по ссылке. Есть, конечно, самый главный минус в таком сервере как библиотека – одну и ту же книгу не могут получить разные клиенты одновременно. Но на просторах интернета один и тот же сайт (ресурс) одновременно могут читать любое число клиентов. Также поиск в интернете осуществляется гораздо быстрее, нежели это будет человек вручную.

После того, как мы разобрались, что принято понимать под термином «web - сервер», посмотрим более подробно для чего он нужен и какие функции выполняет.

Основу интернета создает совокупность веб серверов. Никакой всемирной паутины не существовало, если бы не было этих серверов. Поиск нужной информации занимал невероятно много времени, возможно, приходилось бы искать людей, обладающих знаниями, общение в социальных сетях было бы только в нашем воображение, если такая идея вообще может зародиться в каждом из нас.

Основная цель веб сервера и даже можно сказать главная – предоставлять нужные данные (иметь возможность обслуживать) сразу огромное число пользователей и стараться как можно более эффективно использовать hardware (под hardware понимается применяемая техника (аппаратное обеспечение) для работы сервера).

Основная его миссия – хранение информации. Где информация -файлы, страницы, текстовый контент, изображения. Естественно, для достижения поставленной цели веб сервера решают и другие задачи. [2]

  •    получают запросы;

  •    запускают программы на специальных языках программирования; (предназначенных для сервера);

  •    Формируют web – страницы;

  •    Возвращают их пользователю;

  •    Защищают информацию;

  •    Проводят идентификацию пользователей;

  •    Ведут журнал обращений;

  •    Обслуживают запросы других типов (например, mailto, FTP и т.д.).

Выполнение всех этих задач можно представить следующей иллюстрацией.

we* п»             ом

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

Давайте теперь разберемся: что происходит на веб-сервере во время запросов от пользователя и как он работает. Схема работы несложная и интуитивно понятна каждому из нас. [6]

* зеленым цветом помечены действия, которые обрабатываются веб-сервером

После того, как web-сервер получает запрос от пользователя, определяется тип файла, который был запрошен, затем исходя из этого отправляется нужный файл клиенту или же запускается обработка страницы. Также в это время происходит генерация кода ответа от web-сервера, в котором содержится информация об успешном выполнении операции или же о каких-либо возникших ошибках. [3]

Ошибки web-сервера делятся на группы:

  • 1xx Информационные. Сообщают, что запрос принят и

  • обрабатывается.
  •    2xx Запрос успешен, нужный документ отправлен сервером клиенту.

  • 3xx Перенаправление.

  • 4xx Проблемы при попытке выполнить запрос.

  • 5xx Ошибки на сервере.

Во время обработки страницы при надобности web-сервер запускает различные приложения или скрипты, далее получает данные от них и потом, преобразовав в необходимый вид, отправляет пользователю. Как правило, результатом работы web-сервера становятся различные страницы, оформленные с помощью языка HTML, за отображение которых отвечает браузер. Также возможны и другие варианты ответов, к примеру, для программ, которые открыты на клиентском устройстве, могут приходить данные в формате XML, JSON и так далее. [3]

На сегодняшний день существует множество различных web-серверов, но мы остановимся лишь на тех, которые занимают большую часть рынка. Это такие серверы, как Apache, Microsoft IIS, NGINX, LiteSpeed.

Начнем наш краткий обзор с web-сервера Apache.

  •    Apache (http://apache.org) - это наиболее распространенный и известный сервер на просторах интернета, который к тому же абсолютно бесплатный. Он является самым надежным и гибким. Преимущество данного сервера в том, что он не нуждается в огромном количестве ресурсов процессора и имеет возможность обслуживать большое количество сайтов. Также несомненным достоинством является постоянная поддержка разработчиков. Приложение доступно для самых разных операционных систем, таких как Unix, Linux, Solaris, Mac OS X, Microsoft Windows и другие. На данный момент применение Apache составляет более 65 %. Однако, это очень трудная программа, с которой справится не любой начинающий пользователь.

Следующим по популярности является web-сервер от компании Microsoft, который называется Microsoft IIS.

  •    Microsoft IIS (www.iis.net) – так же очень надежный сервер от компании Microsoft. Он достаточно уверенно располагается на почетном втором месте рейтинга с процентом использования в 14%. Он известен благодаря имени своего разработчика. Представляет собой набор веб служб и интегрирован с Windows. После установки данной программы, будут доступны лишь два языка программирования (VBScript и JScript). Несмотря на это, возможно увеличить набор возможностей, поставив для этого необходимые расширения. С установкой соответствующих

модулей, функциональные возможности этого сервера заметно вырастают.

Далее расположился широко используемый web-сервер на рынке российского Интернета.

  •    NGINX (http://nginx.org/ru/) - наиболее востребованный web-сервер в Интернете в России . При сравнении с двумя лидерами (Apache и Micrososft IIS), он является самым легким в использовании и не предоставляет лишнего функционала.

Помимо этого к его достоинствам пользователи относят высокую надежность и хорошую скорость работы. Разработчик этого продукта наш русский программист - Игорь Сысоев. В 2004 году в свет вышла первый вариант nginx. На сегодняшний день данный программный продукт располагается на почетном 3 месте в списке самых популярных веб серверов в мире. Его использование составляет чуть больше 6 %.

Последним в нашем кратком обзоре будет web-сервер LiteSpeed.

  • •   LiteSpeed (https://www.litespeedtech.com) - этот web-сервер не

имеет большого спектра возможностей, однако у него есть большое преимущество - это очень высокая скорость работы. По этому важнейшему параметру он мощнее популярного Apache в 9 раз. Также много внимания отводится и безопасности (своя защита от перегрузки системы, строгая проверка http-запросов, анти-ddos и так далее). LiteSpeed можно использовать на таких операционных систем, как Solaris, Linux, FreeBSD и Mac OS X.

Доля эксплуатации web-сервера примерно 1,5 %.

Более полная информация и сравнение большего количества web-серверов представлена в таблице ниже. [4]

Название

Год создания

Автор

Распространение

Open

Source

Лицензия

Особенности

Apache HTTP Server

1995

Apache Software Foundation

бесплатно

Да

Apache License

Упор на надёжность и гибкость.

Apache Tomcat

1999

Sun Microsystems, Apache Software Foundation

бесплатно

Да

Apache License2.0

Реализован полностью на Java.

Ascet

HTTPd

2008

Kalabzin Maxim aka Rootman

бесплатно

Да

Apache License

Упор на скорость и безопасность.

CERN httpd

1991

Тим Бернерс-Ли

бесплатно

Да

MIT

Исторически первый веб-сервер.

Cherokee HTTP Server

2001

Alvaro Lopez Ortega

бесплатно

Да

GNU GPL

Ориентирован на простоту и скорость.

FreeProxy

1999

Hand-Crafted Software

бесплатно

Нет

Freeware

Почтовый, веб- и прокси-сервер.

HTTP File Server

2002

Massimo Melina

бесплатно

Да

GNU GPL

Простой сервер для выкладывания файлов в сети.

Internet Information

Services

1995

Microsoft

вкл. в Win NT         Нет

Microsoft EULA

Является частью пакета IIS.

Поддерживает .NET

Jetty

1995

Mort Bay Consulting

бесплатно

Да

Apache License2.0

Реализован полностью на Java.

lighttpd

2003

Jan Kneschke

бесплатно

Да

Вариант BSD

Использование на сильно нагруженных серверах, обеспечение быстроты и защищённости.

nginx

2004

Игорь Сысоев

бесплатно

Да

Вариант BSD

Разрабатывался для испытывающих большую нагрузку серверов.

Включает в себя почтовый прокси сервер.

Sambar Server

1997

Sambar Technologies, inc

shareware            Нет

Проприетарная

Содержит веб-интерфейс администрирования, а также интерфейс пользователя, который содержит в себе почту, календарь, RSS, блог, фотоальбомы, чат и форум. Также может выполнять роль почтового сервера, DNS-сервера, FTP-сервера, Proxy-сервера и другое.

Small HTTP Server

1999

Max Feoktistov

бесплатно для СНГ при условии некоммерческого использования

Нет

Проприетарная

Компактный (размер исполняемого файла около 120 Кб), простой и быстрый HTTP-сервер. Также может выполнять роль почтового сервера, DNS-сервера, FTP-сервера, Proxy-сервера и другое.

TinyWeb

Ritlabs

бесплатно

Да

Freeware

Исключительно компактный (размер исполняемого файла 53 Кб), простой и быстрый HTTP-сервер. Распространяется вместе с исходным кодом на Delphi.

Tornado

2009

FriendFeed/Facebook

бесплатно

Да

Apache License

Асинхронный сервер. Написан на Python.

XSP

1995

Mono

бесплатно

Да

GPL

Является частью пакета Mono. Поддерживает .NET

Для начинающих программистов-разработчиков создаются программы, которые позволяют в несколько щелчков мыши получить web-сервер на своем компьютере.

Локальный сервер – это некий набор программ, которые дают возможность взаимодействовать со страницами, написанными на различных языках программирования, как PHP, Perl и других. В набор приведенного комплекта входит непосредственно сам сервер (наиболее часто им бывает Apache), модули языков программирования и систем управления базами данных (MySQL, Oracle и др.). Зачастую все эти компоненты объединены в единый комплект, чтобы облегчить процесс установки и работы с локальным сервером.

Выясним, какие локальные серверы есть на сегодняшнем рынке. Начнем с того, что каждый из нас может сам создать свой собственный сервер. Для этого потребуется скачать: сервер Apache, пакеты MySQL и PHP, поставить их на ваш компьютер и начинать работу. Но для этого потребуются знания в области программирования и умение работать в данных программах.

Но это не самый удобный и простой способ создания локального сервера на своем компьютере. Если вы не хотите сильно затруднять себя, то вы можете скачать готовые установочные пакеты, коих очень большое количество и в них содержится все нужное для полноценной работы сервера. [12]

В настоящий момент существует множество разновидностей локальных серверов, мы рассмотрим некоторые из них. [5]

  •     Denwer (http://www.denwer.ru) – это абсолютно бесплатный российский сервер, предназначенный для взаимодействия с сайтами, веб-приложениями или Интернет страницами. Его создателями стали наши светлые умы Дмитрий Котеров и Антон Сущев. Этот продукт включает в себя все необходимые дистрибутивы для наиболее простого обращения с ним. К примеру, сюда включен web-сервер Apache с различной поддержкой, панель phpMyAdmin и MySQL для работы с базами данных и другое необходимое программное обеспечение. Кроме того, возможно работать со съемного носителя информации

(флеш-накопитель или жесткий диск). Но, к сожалению, для многих любителей различных операционных систем Denwer работает только с семейством операционных систем Windows.

EJxampp

  •    XAMPP (www.apachefriends.org/en/xampp.html) – это специальная разработка от сторонником и друзей Apache. Все нужные дистрибутивы помогают запустить на нем полноценный web-сервер. Данная программа доступна бесплатно и способна работать в системе Windows, Solaris, Mac OS X и Linux. Также имеет такие существенные плюсы: сервер популярен своим понятным пользовательским интерфейсом, что позволяет ему быть любимым для многих начинающих; присутствуют частые обновления для улучшенной работы; обновление происходит очень безболезненно для пользователя; существуют добавочные модули.

  •    AppServ (www.appservnetwork.com) – это очень хороший сервер от тайских разработчиков, основной идеей которого является очень простая установка и очень быстрая настройка всех необходимых дистрибутивов. Первое явление миру этой разработки состоялось в 2001 году и с того момента количество пользователей только продолжает расти. AppServ легок в установке, он стабилен в работе и точно не хуже многих

официальных и отдельных релизов, а его надежная производительность позволяет реализовать полновесный web-сервер у вас на компьютере.

VertrigoServ

  •    VertigoServ (https://www.vswamp.com) - еще один довольно таки хороший и очень простой в установке локальный сервер. Сборка гибка, имеет достойную производительность и занимает немного пространства на вашем диске. Единственным минусом является то, что пока он поддерживает только операционную систему Windows.

zend

  •    Zend Server Community Edition (www.zend.com) – это еще один представитель бесплатных серверов. Производителем является компания Zend. Его предназначение состоит в работе с вебприложениями. В нем есть все нужные составляющие для молниеносного развертывания локального сервера на вашем персональном компьютере.

> OPEN SERVER

ПОРТАТИВНЫЙ ЛОКАЛЬНЫЙ ВГБОГРКР

  •    Open Server (https://ospanel.io) – это очередной русский портативный локальный сервер, обладающий широким спектром функций и возможностей по созданию сайтов и других веб проектов и работе с ними. Имеет интерфейс на нескольких языках (включая и русский) и рассчитан на работу с

операционной системой Windows. Также возможна работа со съемного носителя. Этот сервер достаточно хорош и служит достойной заменой серверу Denwer.

WampServer

  •    Wampserver (wampserver.com) — это неплохая сборка с дружелюбным для россиян интерфейсом на родном языке (поддерживаются и другие языки). Присутствует легкое для восприятия меню, а сама установка и настройка данной программы не вызывает каких-либо затруднений. Настройку можно осуществлять, не касаясь файлов конфигураций, что очень поможет начинающим web-мастерам. Сервер абсолютно бесплатен, но из минусов можно отметить, что он совместим только с одной операционной системой - Windows.

  •    EasyPHP (http://www.easyphp.org) – это очень простая сборка, которая поддерживает русский язык. Данная программа ничем не примечательна, не имеет широкого диапазона функций и как правило предназначена для теста маленьких проектов.

Поддерживается работа с флешки или жесткого диска. Эта сборка может неплохо заменить сервер Denwer.

Список литературы Обзор различных web-серверов

  • Дмитрий Моск, Статья «Что такое веб-сервер» 02.01.2017
  • «Что такое веб-сервер», SemanticaМосква
  • Андрей Антанюк, Веб-сервер для тестирования сайтов и приложений, 25.06.2015 г.
  • Википедия «Сравнение веб-серверов», 23.03.2015
  • Alfa-byte, Обзор лучших серверов для создания сайтов и веб приложений, 31.07.2013
  • ИНТУИТ Национальный открытый университет, лекция 1: Основы функционирования веб-приложений
Статья научная