2010-12-01 2 views

ответ

4

На практике существует небольшая разница, и большинство людей используют термин взаимозаменяемо.

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

  • Веб-сервер обслуживает веб-страницы и статический контент. Не динамический контент.

  • Сервер приложений может быть веб-сервером (с динамическим контентом), хотя он может и не быть вообще. Он предлагает API для программистов.

Как обычно, wikipedia имеет лучшие определения.

Web server:

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

Application server:

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

...

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

0

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

Веб-сервер означает, что сервер предоставляет веб-контент (HTML, PHP и т. Д.). Типичным серверным программным обеспечением является Apache или IIS.

Сервер приложений является более общим термином. По определению веб-сервер также является сервером приложений (программное обеспечение Apache - это приложение). Но сервер приложений не ограничивается доставкой веб-контента.

Я надеюсь, что это не слишком запутанной ;-)

0

"Веб-сервер" предполагает HTTP (и, скорее всего, HTML); «сервер приложений» может быть любым протоколом.

Даже это различие не является 100%, и помимо этого различия лежит территория фламберов и спорят о семантике.

1

Сервер приложений - это любой сервер на любом протоколе прикладного уровня.

HTTP - это протокол уровня приложения, поэтому веб-сервер является прикладным сервером. Приложение-сервер также может использовать совершенно другой протокол.

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

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

0

Если ваш вопрос приходит из области Java, сервер приложения является полностью совместимым сервером спецификации J2EE, обеспечивая все функции, связанные (например, GlassFish, JBoss, WebLogic)
веба-сервер с другой стороны только легкий сервер не в полной мере реализации J2EE спецификации (например, Apache Tomcat)

0

веб-серверы:

  • Apache, IIS, Nginx, Li ghttpd и т.д.

Они могут генерировать динамическое содержимое, взаимодействуя с приложение как CGI фоновым, PHP, .Net, Lua и т.д. через CGI, FastCGI, SCGI, модули и т.д.

серверов веб-приложений:

  • Tomcat/JBoss/GlassFish/WebSphere (Java скрипты), G-WAN (ANSI C сценариев) и т.д.

Они NATIVELY генерируют динамическое содержимое с помощью встроенного в скрипт сценария , такого как сценарии Java или C в приведенных выше примерах.

Серверы приложений, как правило, быстрее, потому что они НЕ ДОЛЖНЫ пострадать от INTERFACE между сервером и механизмом сценариев.

Смежные вопросы