Что такое веб-сервер и как его выбрать

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

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

Что такое веб-сервер

Если на странице любого сайта мы зайдем в «Инструменты разработчика» (F12 в Google Chrome), то увидим, что страница состоит из определенного количества запросов. Чтобы обработать эти запросы, с нашей, клиентской, стороны работает браузер – он запросы подает, а со стороны сервера работает веб-сервер, который, собственно, на эти запросы отвечает.

Веб-сервер – это программное и аппаратное обеспечение, которое использует протокол HTTP (Hypertext Transfer Protocol) и другие протоколы для ответа на запросы клиентов, сделанные через браузер. Основная его задача – показывать содержимое сайта, одновременно сохраняя, обрабатывая и доставляя его страницы пользователям.

Как работает веб-сервер

Схематически базовую работу веб-сервера можно изобразить так.

Как работает веб-сервер

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

Внутри веб-сервера в этот момент может происходить много чего. И это «многое» можно разделить на легкие (статические) и тяжелые (динамические) запросы.

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

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

За веб-сервером у нас может быть целый блок веб-приложений, или серверов приложений. Без них ответить на динамический запрос практически невозможно.

Чем веб-сервер отличается от сервера

Сервер – это физическое центральное хранилище, где хранится информация и компьютерные программы.

Веб-сервер – это программное обеспечение, предназначенное для запуска необходимого оборудования, которое может удовлетворять запросы клиентов и доставлять им веб-страницы.

Клиент – любое устройство, которое может получить доступ к интернету, например, смартфон, умные часы, ноутбук или ПК, и запрашивать данные с веб-сервера, как правило, с помощью браузера, например, Chrome или Firefox.

Основные разновидности серверов, которые используются для доставки сайтов конечному пользователю – веб-сервер и сервер приложений.

Веб-сервер принимает и выполняет запросы от клиентов на получение статического содержимого, то есть HTML-страниц, файлов, изображений и видео, с сайта. Он обрабатывает только HTTP-запросы и ответы.

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

Какие разновидности веб-серверов бывают

Сегодня есть три самых популярных веб-сервера: Apache, NginX и LiteSpeed.

  • Apache. Это достаточно известный набор ПО с открытым исходным кодом для создания веб-сайтов и веб-приложений. Созданный еще в 1995 году, Apache достаточно долгое время доминировал на рынке. Он предустановлен во всех основных дистрибутивах Linux, что всегда облегчало его запуск и работу.
  • Nginx. Появился несколько позже – через 10 лет после выхода Apache и революционно предложил решение «проблемы с 10К» — смог обработать 10 000 одновременных соединений.
  • LiteSpeed. Высокопроизводительный веб-сервер от компании LiteSpeed Technologies. Он самый молодой, однако уже успел нажить себе славу самого быстрого и наиболее экономного в плане серверных ресурсов.

Какой веб-сервер выбрать

На самом деле вопрос с выбором веб-сервера решается довольно просто – вам нужно лишь выбрать компанию, которая предоставляет высокопроизводительный хостинг. Хостинг с чистым Apache сегодня уже вряд ли можно найти. Все провайдеры сейчас используют Apache + Nginx, Nginx + PHP-FPM или LiteSpeed веб-сервер.

Nginx подойдет для обслуживания только статики, тогда как для миксованного контента лучше будет работать связка Nginx + PHP-FPM. А вот LiteSpeed – технология с акцентом на масштабируемость и будет более актуальной для крупного корпоративного сектора.

Результаты тестирования сайтов с LiteSpeed говорят сами о себе, но стоит учесть плюсы и минусы других веб-серверов для сайта. Так, LiteSpeed предлагает самую высокую производительность при минимальных ресурсах, однако Nginx одновременно обеспечивает большую гибкость в настройке вашего сервера. И, конечно, Apache остается тоже достаточно популярным вариантом благодаря своей надежности и совместимости с различными операционными системами.