2012-02-16 3 views
7

Я был разработчиком веб-приложений Java, и теперь я работаю над .net framework.В чем разница между apache/nginx/IIS

Когда я работаю в java-сети, мы используем tomcat/jboss для развертывания нашего приложения. Я думал, что tomcat/jboss - это веб-сервер.

Когда я работаю в asp.net, я использую IIS для развертывания приложения, тогда я думал, что IIS - это еще один вид веб-сервера.

В эти дни я изучаю рельсы, затем я услышал nginx. Из Google это также своего рода веб-сервер.

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

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

Каждый веб-сервер должен иметь свое собственное соответствие, например, tomcat для java, iis для asp.net.

Но почему apache/nginx?


BTW, я не имею в виду, что apache/nginx бесполезен, я просто не знаком с этим.

Интересно, может ли кто-нибудь объяснить это мне?

+0

реальном мире веб-системы, такие как Портал Amazon может состоять из нескольких веб-серверов, которые находятся в разных ролях. В этом случае на основе их характеристик может использоваться другое программное обеспечение веб-сервера. Например, nginx подходит как обратный прокси для Apache или IIS. –

ответ

11

Прежде всего: «веб-сервер» - это всего лишь часть программного обеспечения, которое обслуживает контент по протоколу http (s). Это минимальная функциональность. Таким образом, вы бросили множество дополнительных функций ...

JBOSS/Tomcat - это не только «веб-сервер»; tomcat предоставляет функциональность, чтобы иметь приложение java, отвечающее на запросы, отправленные на этот сервер, JBOSS намного больше, он предлагает специальные методы «развертывания» вашего программного обеспечения в производственной среде и многое другое ...

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

Чтобы запутать вас немного больше, вы можете запустить ASP.NET на веб-сервере apache (который должен быть расширен с помощью средств для выполнения кода .NET). И, конечно же, вы можете создавать композиты из всех этих продуктов, поскольку протокол http может использоваться прокси. Например, вы можете использовать веб-сервер apache в качестве точки доступа клиента, которая проверяет подлинность с некоторой базой данных, а затем перенаправляет запросы на сервер IIS с межсетевым экраном, который разрешает только соединения с apache. Таким образом, вы можете осуществить аутентификацию (или балансировки нагрузки), которая может быть не поддерживается на вашем сервере Windows ...

Надежда, что очищенную некоторые вещи ...

грабят

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