Что такое сервер? Серверный компьютер и серверное приложение

Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем рубрику Сервера и протоколы. А также рубрику Вопрос-ответ, в которой у нас есть раздел «Что такое?». В этой записи мы разберемся со значением термина сервер и поговорим о том, что такое серверный компьютер и что такое серверное приложение. Сначала мы разберемся откуда появилось слово сервер, а затем разберемся для чего нужны серверные машины и почему некоторые программы называют серверными приложениями и в чем их отличие от обычных приложений.

Что такое сервер? Серверный компьютер и серверное приложение

Что такое сервер? Серверный компьютер и серверное приложение


Общее определение термина сервер

Итак, давайте разберемся с вопросом: что такое сервер? Но для начала немного исторической справки. Сервер – это имя. Перевод имени Сервер с персидского – глава, предводитель, вождь. Собственно, нам такое определение подходит для дальнейшего разговора. Если говорить конкретно про компьютерную тематику и отрасль IT, то термин сервер имеет два значения:

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

Если говорить в контексте веб-разработки, то хостинг, на котором мы размещаем сайты – это сервер, который включает в себя как программную часть, так и аппаратную часть.

Серверный компьютер

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

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

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

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

Серверное приложение

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

В качестве примеров серверных приложений можно привести:

Серверное приложение выполняет определённый набор функций, который ограничен его назначением. Например, веб-сервер должен принимать HTTP запросы от клиента, анализировать их, проверяя полученные HTTP методы и поля заголовков, затем выполнять действия, указанные в запросе и отчитываться клиенту о результатах своей работы при помощи специального HTTP сообщения, которое получило название ответ.

А, например, серверное приложение MySQL должно анализировать SQL запрос, полученный от клиента, обработать его, организовать доступ к файловой системе и вернуть результат запроса клиенту.

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

Текст комментария: