В модели клиент-серверной компьютерной сети серверная часть относится к программам и операциям, которые выполняются на сервере . В этом отличие от клиентских программ и операций, которые выполняются на клиенте . [1] [2] [3] [4]
«Серверное программное обеспечение» означает компьютерное приложение , такое как веб-сервер , которое работает на удаленном серверном оборудовании , доступном с локального компьютера пользователя , смартфона или другого устройства. Операции могут выполняться на стороне сервера, поскольку для них требуется доступ к информации или функциям, недоступным на стороне клиента , или потому, что выполнение таких операций на стороне клиента будет медленным, ненадежным или небезопасным .
Клиентские и серверные программы могут быть общедоступными, например, бесплатными или коммерческими веб-серверами и веб-браузерами , взаимодействующими друг с другом с использованием стандартизированных протоколов . Или программисты могут написать свой собственный сервер, клиент и протокол связи , которые можно использовать только друг с другом.
К операциям на стороне сервера относятся как те, которые выполняются в ответ на запросы клиентов, так и неориентированные на клиента операции, такие как задачи обслуживания.
[5] [6]
В контексте компьютерной безопасности уязвимости или атаки на стороне сервера относятся к тем, которые происходят в серверной компьютерной системе, а не на стороне клиента или между ними . Например, злоумышленник может воспользоваться уязвимостью внедрения SQL-кода в веб-приложении , чтобы злонамеренно изменить данные в базе данных сервера или получить несанкционированный доступ к ним . Альтернативно, злоумышленник может проникнуть в серверную систему, используя уязвимости в базовой операционной системе , а затем получить доступ к базе данных и другим файлам так же, как авторизованные администраторы сервера. [2] [3] [4]
В случае проектов распределенных вычислений , таких как SETI@home и Great Internet Mersenne Prime Search , хотя основная часть операций происходит на стороне клиента, серверы отвечают за координацию работы клиентов, отправку им данных для анализа, получение и хранение. результаты, предоставление функций отчетности администраторам проекта и т. д. В случае интернет-зависимого пользовательского приложения, такого как Google Earth , когда запрос и отображение картографических данных происходит на стороне клиента, сервер отвечает за постоянное хранение картографических данных, преобразование пользовательских запросов в данные карты для возврата клиенту и т. д.
В контексте Всемирной паутины к часто встречающимся серверным языкам программирования относятся: [7]
Однако веб-приложения и сервисы могут быть реализованы практически на любом языке, при условии, что они могут возвращать данные в веб-браузеры, основанные на стандартах (возможно, через промежуточные программы) в форматах, которые они могут использовать.