В чем разница между веб-сервером и сервером приложений - PullRequest
0 голосов
/ 01 декабря 2010

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

Ответы [ 6 ]

4 голосов
/ 01 декабря 2010

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

Тонкое различие для меня:

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

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

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

Веб-сервер :

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

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

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

...

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

1 голос
/ 01 декабря 2010

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

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

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

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

0 голосов
/ 19 декабря 2010

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

  • Apache, IIS, nginx, Lighttpd и т. Д.

Они МОГУТ генерировать динамическое содержимое, ВЗАИМОДЕЙСТВУЯ с приложениемкак CGI-сервер, PHP, .Net, Lua и т. д. через CGI, FastCGI, SCGI, модули и т. д.

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

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

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

Серверы приложений, как правило, работают быстрее, потому что им НЕ ТРЕБУЕТСЯ перегрузка ИНТЕРФЕЙСА между сервером и механизмом сценариев.

0 голосов
/ 01 декабря 2010

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

0 голосов
/ 01 декабря 2010

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

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

0 голосов
/ 01 декабря 2010

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

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

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

Надеюсь, это не слишком смущает; -)

...