Что такое программа сервер ответ
Перейти к содержимому

Что такое программа сервер ответ

  • автор:

Сервер

Сервер (от англ. server — обслуживающий) — сетевой компьютер, обрабатывающий запросы от других компьютеров в локальной или глобальной сети. Как правило, сервер выделен из всей группы компьютеров, подключенных к единой сети, работает автономно, без участия человека, за исключением первичной настройки. Также под этим термином подразумевается программное обеспечение, обрабатывающее пользовательские запросы.

Освойте профессию
«Cистемный администратор»

Устройство и функции сервера

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

Системный администратор

Станьте универсальным специалистом по администрированию Linux с нуля

cables_2 2-PhotoRoom 1 (3)

  • обязательно иметь высокоскоростное сетевое подключение, чтобы принимать и передавать большой объем данных по локальной или глобальной сети;
  • обладать большим объемом долговременной памяти (обычно это несколько жестких дисков) для хранения данных;
  • работать под управлением специализированного программного обеспечения, в идеале — специальной операционной системы для серверов;
  • быть многократно защищенным от аппаратных и программных сбоев, хакерских атак с помощью резервирования, специального антивирусного ПО.

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

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

Выделенный в сети сервер работает под управлением специализированных операционных систем и другого ПО в автономном режиме. Участие человека предполагается только на этапе запуска/наладки, а также замены, ремонта или расширения оборудования. Устройство сервера включает специализированный процессор с большим (до 64) количеством ядер для параллельных вычислений, а также значительные объемы оперативной и долговременной памяти. К каждому такому компьютеру можно подключить клавиатуру и монитор, но обычно он просто подсоединяется к сети и настраивается через общую консоль.

Сисадмин — давно не человек, который настраивает компьютеры. Станьте сильным специалистом, который поддерживает инфраструктуру компании.

Невыделенный. Это сервер, созданный на базе обычного ПК путем расширения памяти за счет установки нескольких жестких дисков (RAID-массива), покупки постоянного IP-адреса у провайдера и настройки ПО на обработку пользовательских запросов, обеспечение безопасности и резервного копирования данных. При этом пользователь может подключить к нему клавиатуру, мышь, монитор и другие периферийные устройства, чтобы продолжать применять его как обычный ПК: например, для офисной работы, обработки изображений или видео и т.д. Такие серверы не предназначены для больших объемов информации из-за ограниченности ресурсов. Наиболее часто создаются невыделенные серверы для локальных сетей небольших организаций. В то же время функционально они практически не отличаются от выделенных серверов.

Одноплатный. Это микросервер, реализованный на одной плате со встроенным или подсоединяемым модулем памяти, собственным процессором и сетевым разъемом. Типичным примером может служить популярный одноплатный компьютер Raspberry Pi. Преимущество таких серверов заключается в их низком энергопотреблении и отсутствии шума. Из-за малой вычислительной мощности они используются для сбора информации с датчиков домашних систем безопасности, «умного дома».

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

Для чего нужен сервер

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

  • Хостинг-сервер (веб-сервер) оснащен большим объемом памяти, предназначен для хранения файлов веб-сайтов, беспрерывной обработки пользовательских запросов, авторизации и аутентификации пользователей.
  • DNS-сервер предназначен для хранения доменных имен, по которым пользователь находит нужный сайт.
  • Почтовый сервер используют для получения, обработки, отправки электронных писем пользователей, а также их хранения на встроенных накопителях.
  • Облачный сервер предоставляет пользователю часть своих ресурсов (например, для хранения файлов, разработки ПО) путем виртуализации (создания виртуальных машин).
  • Файловый сервер — хранилище файлов (текстов, музыки, видеофильмов, ПО), откуда их может скачать пользователь.
  • SQL-сервер предназначен для хранения баз данных, позволяет подключенным пользователям изменять, получать и передавать содержащиеся в нем сведения.
  • Медиасервер предоставляет пользователям доступ к медиафайлам или обеспечивает их потоковую передачу в реальном времени.
  • Прокси-сервер — промежуточный узел (как правило, в другом регионе или стране), через который пользователь может подключиться к интернет-ресурсу — например, чтобы сохранить анонимность или получить доступ к заблокированному контенту.

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

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

Любой серверный компьютер взаимодействует с программным обеспечением подключенных к нему ПК или иных устройств (камер, датчиков). Он принимает и обрабатывает исходящие от них сигналы и выдает ответ. В общем виде принцип работы сервера выглядит так:

  • Пользователь подключает компьютер или другое устройство к локальной или глобальной сети (через проводное или беспроводное соединение). При этом его клиент получает свой адрес, по которому к нему может обращаться сервер.
  • Далее сервер начинает «прослушивать» канал, при этом он может пассивно ожидать от пользователя (точнее, его устройства) запрос или самостоятельно отправлять клиенту инициирующий запрос.
  • Пользователь с помощью компьютера, на котором установлен браузер или иная программа (клиент) для общения с сервером (это могут быть также игровые, мобильные приложения), вводит запрос — например, адрес сайта в поисковую строку браузера.
  • Сервер принимает запрос, автоматически обрабатывает его в соответствии с предусмотренными в программе правилами и отправляет клиенту (пользовательской программе) ответ.

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

  • выполнение запроса — в ответ на него сервер отображает веб-страницы, передает или загружает файлы, открывает доступ к сервисному приложению, игре;
  • игнорирование запроса — сервер никак не реагирует на запрос, если он неверен или пользователь не имеет нужных прав доступа;
  • сообщение об ошибке — при введении неверного запроса, а также технических сбоях сервер отображает код конкретной ошибки (например, 404 — отсутствие запрашиваемой страницы, файла).

Варианты реакции сервера на запросы ограничены лишь его настройками. Но обычно используется определенный стандартный набор закодированных ответов. Это сделано для международной унификации работы серверов, ведь часто машины, расположенные, например, в США, обслуживают пользователей из России, Европы, Китая.

Типы серверных архитектур

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

Альтернатива этой модели — децентрализованная архитектура «peer-to-peer» (отсюда другое название — пиринговая). В ней взаимодействие происходит между равноценными устройствами, каждое из которых может играть роль как сервера, так и клиента. Благодаря этому в пиринговой сети нет информационных центров, а количество подключенных устройств потенциально безгранично. Эту модель используют в организации файлообменных сетей (торрентов), торговых интернет-площадок, платежных систем.

Реализация обмена данными между сервером и клиентом

Взаимодействие между сервером и клиентом (пользовательским ПК или иным подключенным устройством) идет на двух уровнях.

Физическом. Чтобы сервер и клиент могли взаимодействовать, между ними должен быть открыт физический канал для передачи информации. Для этого выполняют подключение посредством специальных интерфейсов: проводного Ethernet или беспроводных Wi-Fi, Bluetooth, WiBro. По этому каналу сервер и клиент обмениваются физическим носителем информации — электрическим или радиосигналом. Такое физическое соединение бывает:

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

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

  • HTTP (Hyper Text Transfer Protocol) — с его помощью гипертекст (то есть веб-страницы) передается между компьютерами, которые подключены к одной локальной или глобальной сети;
  • FTP (File Transfer Protocol) — для обмена файлами (скачивания или загрузки) между пользовательским устройством и файловым сервером;
  • POP3 (Post Office Protocol) — для организации стандартного обмена электронной почтой между пользовательским ПК с установленной на нем почтовой программой и POP-сервером;
  • SMTP (Simple Mail Transfer Protocol) — дополнительный протокол задает правила, по которым осуществляется обмен почтовыми сообщениями: когда выдать ошибку, а когда удовлетворить запрос пользователя;
  • TELNET — протокол, который обеспечивает удаленный доступ абонента к любому компьютеру, подключенному к той же сети. Служит для установки и запуска на нем программ, изменения режимов работы в соответствии с правами, которые предоставляет администратор;
  • TCP (Transmission Control Protocol) — для пакетной передачи данных в интернете между двумя конечными устройствами (клиентским и серверным ПК);
  • IP (Internet Protocol) — протокол межсетевой пакетной передачи данных позволяет объединять локальные сети в одну глобальную (интернет, дословно — «междусеть») и доставлять в ней информацию между любыми устройствами через произвольное число промежуточных узлов.

Протоколы передачи данных бывают разных подвидов. Они могут улучшать или изменять свойства «прародителей». Например, протокол HTTPS — версия HTTP с защитой (шифрованием) соединения для более безопасной передачи данных между интернет-сервером и клиентом. Помимо указанных выше протоколов общего пользования, существуют также узкоспециализированные, разработанные отдельными коммерческими, научными, государственными, военными учреждениями. Это, например, DTN (Delay-tolerant networking — устойчивая к разрывам сеть). Его используют американские оборонные ведомства и НАСА для связи со спутниками и другими космическими аппаратами.

Где используются серверы?

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

  • поиск, обработка и хранение больших массивов информации;
  • математические вычисления и научные исследования;
  • общение и другие виды взаимодействия между пользователями (например, игры);
  • создание различных видов медиаконтента: текстов, музыки, видеороликов, фильмов;
  • разработка системного и прикладного программного обеспечения;
  • административная деятельность — управление персоналом, распределение прав доступа;
  • обеспечение безопасности охраняемого объекта за счет видеонаблюдения, работы датчиков дыма, движения;
  • поддержка работоспособности информационной инфраструктуры организаций, учреждений, государств и межгосударственных объединений и многие другие задачи.

Серверы важны для работы локальных и глобальных сетей. Поэтому к ним предъявляют повышенные требования в плане работоспособности, надежности, безотказности. Серверные устройства, особенно в крупных организациях, действуют беспрерывно в режиме 24/7. Любое отключение нарушает работу сети, а это плохо и для репутации владельцев серверов, и для их клиентов.

Системный администратор

Станьте универсальным специалистом по администрированию Linux с нуля и разверните собственный кластер. Перед вами откроется широкая область для реализации и развития: от сисадмина до CTO

В чем разница между веб-сервером и сервером приложений?

В чем разница между веб-сервером и сервером приложений?

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

Как они работают: веб-сервер или сервер приложений

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

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

Веб-сервер – это технология, на которой размещаются код и данные веб-сайта. Когда вы вводите URL-адрес в браузере, этот URL-адрес фактически является идентификатором адреса веб-сервера.

Ваш браузер и веб-сервер взаимодействуют указанным ниже образом.

  1. Браузер использует URL-адрес для поиска IP-адреса сервера
  2. Браузер отправляет HTTP-запрос на получение информации
  3. Веб-сервер связывается с сервером баз данных для поиска соответствующих данных
  4. Веб-сервер возвращает браузеру статический контент, такой как HTML-страницы, изображения, видео или файлы, в HTTP-ответе
  5. Затем браузер отображает вам информацию

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

Как работает сервер приложений

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

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

  1. Браузер использует URL-адрес для поиска IP-адреса сервера
  2. Браузер отправляет HTTP-запрос на получение информации
  3. Веб-сервер передает запрос на сервер приложений
  4. Сервер приложений применяет бизнес-логику и взаимодействует с другими серверами и сторонними системами для выполнения запроса
  5. Сервер приложений отображает новую HTML-страницу и возвращает ее в ответ веб-серверу
  6. Веб-сервер возвращает ответ браузеру
  7. Браузер отображает информацию для вас

На примере веб-сайта электронной коммерции, когда вы добавляете товары в корзину или оформляете заказ, вы взаимодействуете с сервером приложений.

Ключевые отличия: веб-сервер и сервер приложений

У веб-серверов и серверов приложений есть несколько ключевых отличий.

Охваченные задачи

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

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

Используемые протоколы

Основным протоколом, который используют веб-серверы, является протокол HTTP. Однако различные веб-серверы также поддерживают FTP и простой протокол передачи почты (SMTP). Эти два протокола облегчают хранение и передачу файлов, а также электронную почту.

Помимо протоколов, используемых веб-серверами, серверы приложений используют дополнительные протоколы для связи с другими программными компонентами. Например, они могут использовать удаленный вызов метода (RMI) и удаленный вызов процедур (RPC).

Типы контента

Веб-серверы в основном предоставляют статический контент. Статический контент – это контент, который серверу не нужно изменять или обрабатывать перед отправкой. Например, файлы изображений (например, PNG, GIF и JPEG), загружаемые документы (PDF-файлы), видео и HTML-файлы представляют собой статический контент.

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

Многопоточность

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

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

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

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

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

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

Что такое сервер приложения?

Из всего прочитанного в интернете мне удалось понять, что существуют 2 вида серверов: статические и динамические. Статические сервера включают в себя «сервер-железо» и «сервер-ПО», которое работает с HTTP и URL. Динамические сервера содержат все то, что содержат статические + сервер приложения и базу данных. Вся инфа отсюда. То есть по сути динамический сервер называется таким из-за работы сервер приложения, который может изменять файлы, передаваемые по HTTP, налету. У меня возник вопрос. Получается, что сервер приложения — это какой-то код, который позволяет обрабатывать файлы. Но судя по этой цитате, это не совсем так (вряд ли код может содержать веб-сервер): Источник

Сервер приложений может содержать веб-серверы, поэтому он считается более мощным, чем веб-сервер.

Здесь мне скорее всего не понятно само строение или структура этого сервера приложения. Для чего и каким образом он содержит этот веб-сервер? Также не понятна эта фраза:

Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (интерфейс прикладного программирования), определённый самой платформой.

Получается, что если API поддерживает взаимодействие 2-ух программ, то в этом случае API может поддерживать взаимодействие между сервером приложения и какой-то любой другой программой. А всегда ли API поддерживает работу с сервером приложений, API работает только с сервером приложений?

Отслеживать
задан 1 ноя 2021 в 18:03
1,879 8 8 серебряных знаков 23 23 бронзовых знака

я не хочу умничать, но, мне кажется, Вы читаете какие то не те источники. Не хочу катить бочку на авторитетную Википедию и т.п., но в общем здесь идёт «спор о терминах». Посмотрите на это с другой стороны: Сервер — это любая «штука», которая обслуживает «запросы». Вам компьютер ответил на ping? О! Это — сервер!

1 ноя 2021 в 18:28

А то, что Вы пишете про статическиие и динамические сервера — обычно, мне кажется, называется «статическим контентом» и «динамическим контентом». И — еще, если уточнить, что речь идет о HTTP — серверах, всё становится на свои места. Но я всё же советую Вам разбить вопрос на несколько вопросов, так как в текущем виде на него трудно ответить

1 ноя 2021 в 18:38

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

1 ноя 2021 в 19:29

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

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

Мне кажется, что то непонимание, которое у Вас есть, происходит от обилия терминов и их «исторического напластования»

  1. То, что Вы называете «статическиие и динамические сервера» — обычно, мне кажется, называется «статическим контентом» и «динамическим контентом».
  2. то, что в тексте назывется серверами приложений — нужно понимать просто как «веб сервер без морды», как бы грубо это ни звучало. Это — программа, которая по HTTP принимает запросы и по HTTP же отвечает. Обычно это называют REST — протоколом (Representational state transfer)

Еще один распространённый термин для «серверов приложений» — это «веб-служба».

А всегда ли API поддерживает работу с сервером приложений?

Сам термин «сервер приложений» — это некая историческая шелуха.

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

Но хотелось «динамики» например, счетчика числа посетителей на странице. Для этого использовался CGI (Common Gateway Interface).

Фактически, это означало, что в ответ на запрос из браузера на сервере выполнится программа, и результат её выполнения будет показан в браузере.

Чтобы «хорошо продавать» эту возможность ( а веб-сервера были не только бесплатными open source, но иногда и очень даже платными, типа Microsoft IIS и IBM WebSphere ) — был придуман маркетинговый термин «сервер приложений».

Который означал не более и не менее, чем возможность в ответ на запрос пользователя выполнить некий код, который на этот запрос ответит. В этом была разница с сервером, который умеет только «тупо хостить файлы»

Далее — под API, наверное, следует понимать «взаимодействие по заранее согласованному протоколу», но применительно к HTTP — серверам это в 99% случаев следует читать как REST API.

Объясню на примере. Пускай у меня есть база данных с ценной информацией.

Я могу сделать веб — сервер, который на своих страницах будет показывать эту информацию по запросам пользователя.

А могу предоставить интерфейс к своей базе данных, и многие — многие сервера в интернете начнут показывать эту информацию на своих страницах, обращаясь за самой информацией ко мне. По API. При этом у меня может вообще не быть «веб сервера, на котором есть страницы для просмотра посетителями».

Я надеюсь, что я смог — в этом коротком ответе — помочь Вам разобраться в терминах. Но если есть уточняющие вопросы — пишите!

Дополнение

я перечитал Ваш вопрос, и решил немного дополнить ответ вот в какой части:

Сервер приложений может содержать веб-серверы, поэтому он считается более мощным, чем веб-сервер.

Здесь мне скорее всего не понятно само строение или структура этого сервера приложения. Для чего и каким образом он содержит этот веб-сервер?

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

  1. Есть программа, которая реализует HTTP — протокол. Она просто умеет получать HTTP-запрос и в ней есть модуль, который пытается на это запрос ответить.
  2. Обычно эту программу просто «привязывают» к файловой системе WEB-сервера, и «модуль отвечания» работает по такому алгоритму: «К тебе пришел запрос? Посмотри, есть ли на диске файл, название которого соответствует запросу. Если есть — выдай этот файл в ответ на запрос, если нет — покажи страницу с 404-й ошибкой». Это — то что называется «статический контент», или «статический сервер» (как бы не передёргивало меня от этого термина)
  3. Что такое «динамический сервер»? Это когда «модуль отвечания» в программе, которая обслуживает запросы, учат еще одному фокусу: «. а вот если к тееб придёт запрос определенного вида — то вместо отдачи файла пользователю выполни вот эту программу, и отдай пользоваетлю результаты её выполнения».

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

Отслеживать
ответ дан 1 ноя 2021 в 18:57
11k 1 1 золотой знак 23 23 серебряных знака 46 46 бронзовых знаков

вот именно в этом смысле «Сервер приложений может содержать веб-серверы» — они имеют в виду, что, для того, чтобы принять запрос и отправить ответ — нужен модуль работы с HTTP протоколом, и называют его «веб-сервер» а что тогда содержит веб-сервер для работы с HTTP (ПО сервер, как говорится на MDN) при отсутствии сервера приложений (т.е. если говорить про статический контент, статический сервер)? Сервер-железо?

1 ноя 2021 в 19:53

@Eva — > а что тогда содержит веб-сервер для работы с HTTP при отсутствии сервера приложений — я думаю, при отсутствии сервера приложений модуль работы с HTTP (это штука, которая умеет принимать запрос и отдавать ответ) имеет простейшую инструкцию «приняв запрос, возьми файл, если он существует, и отправь его в качестве ответа». То есть, имеется в виду сервер — программа, но которая не умеет запускать «другие программы», а умеет только отдавать готовые файлы.

1 ноя 2021 в 19:56

вы наверное не поняли моего вопроса)) вопрос был в том, где находится программа по работе с HTTP — на железе или на сервере приложений? Хотя, наверное, и там, и там, в любом случае надо же сначала обработать запрос (обрабатывает, как я понимаю, железо), а уже потом выдать ответ (обрабатывает, как я понимаю, или железо, или сервер приложения). Я правильно понимаю?

1 ноя 2021 в 20:06

@Eva обработкой и выдачей ответов занимаются программы, а программы запускаются на железе. «Сервер приложений» это просто ещё одна программа, наличие или отсутствие которой зависит только от ваших личных предпочтений

1 ноя 2021 в 20:14

@Eva — я советую Вам критически относиться к этой фразе, потому что она 1) изначально включала в себя неоднозначности, присущие языку вообще 2) была переведена, что не добавило ей однозначности. Слова «считается более мощным» можно понимать как «позволяет выполнить больше функций». Такое трактование, скорее всего, близкО к исходному смыслу

1 ноя 2021 в 20:57

Что/кто такой(-ое) «сервер»?

англ: serve — служить; +er —> server — тот, кто обслуживает.

Простыми словами «сервер» это то, что обслуживает (исполняет) запросы. Исполнитель.

Исполнитель (сервер) — это приложение. Однако этим же «словом» также называют железо на котором работает это приложение(-я). Да, на одном железе (сервере) могут быть запущены несколько приложений (серверов).

Деды от «айти» не перевели, в своё время, теперь вот такие вопросы.

Далее по наследию от дедов.

«Статичный, статический»

англ (прил): static — неподвижный.

«Динамичный, динамический и прочее динамо-«

англ (прил): dynamic — действующий, работающий, живой.

«Веб»

англ: web — паутина, сеть.

Соединяем всё до кучи.

Веб-сервер — исполнитель, который обрабатывает сетевые запросы, созданные по тем или иным правилам (договорённостям) (англ: protocol): TCP/IP, HTTP и т.д.

Сервер-приложений — исполнитель, на котором выполняется какое-либо прикладное приложение.

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

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

Ну и несколько слов про API исполнителя приложений.

К примеру, возьмём самовоз (англ: auto- (само-); mobile (подвижный)). У него есть рычаг переключения передач. Так вот допустимые положения для этого рычага являются API, т.е. способами для переключения передач, которые предоставлены разработчиками самовоза для этих нужд.

Наглядно положения передач можно описать так:

  • 1-я: /влево/вверх
  • 2-я: /влево/вниз
  • ..
  • 5-я: /вправо/вверх
  • Задняя: /вправо/вниз

Для исполнителя приложений всё тоже самое. Есть набор мест (положений) при обращении к которым (с указанием дополнительных данных, если это необходимо) будет выполнено то или иное действие этим самым приложением. Например:

создать заметку: /createArticle, /create-article, /создатьЗаметку, /заметку-создать (выбор названия всецело зависит от разработчиков приложений).

что такое программа сервер?

Архитектура Клиент Сервер — С одной стороны есть машины, поддерживающие стандартные протоколы, на которых поддерживается ряд программ, ожидающих запросов на соединение. С другой стороны есть машины, которые связываются с этими программами, чтобы воспользоваться их сервисами. Сервер — компьютерная программа, которая поддерживает разделенный доступ к общему ресурсу или сервису в сети. (Если ресурсом считать файлы, а севисом программы) . В сетевом сообществе Компьютерный Пользователь обращается к серверу и через него получает доступ к ресурсу, которым является База Данных. Для работы с базой данных Программа Сервер использует CGI-Скрипты

Похожие вопросы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *