2012-02-16 34 views
7

He sido desarrollador de aplicaciones web Java, y ahora trabajo en .NET Framework.cuál es la diferencia entre apache/nginx/IIS

Cuando trabajo en web java, utilizamos el tomcat/jboss para implementar nuestra aplicación. Pensé que el tomcat/jboss es un servidor web.

Cuando trabajo en asp.net, utilizo IIS para implementar la aplicación, entonces pensé que el IIS es otro tipo de servidor web.

En estos días, estoy aprendiendo los rieles, luego escuché el nginx. Desde google, también es un tipo de servidor web.

Sin embargo, descubrí que algunas personas decían que podemos usar nginx e IIS juntos, u otra combinación.

Ahora, estoy confundido, en mi opinión, un servidor web debe manejar la solicitud del cliente y devolver el resultado.

Cada servidor web debe tener su propia aplicación, por ejemplo, tomcat para java, iis para asp.net.

¿Pero por qué apache/nginx?


Por cierto, no me refiero a apache/nginx es inútil, simplemente no estoy familiarizado con esto.

Me pregunto si alguien puede explicarlo por mí?

+0

Un sistema web del mundo real, tales como El portal de Amazon puede constar de varios servidores web que tienen diferentes roles. En este caso, se puede usar un software de servidor web diferente en función de sus características. Por ejemplo, nginx es adecuado como proxy inverso para Apache o IIS. –

Respuesta

11

Lo primero es lo primero: un "servidor web" es simplemente una pieza de software que sirve contenido a través del protocolo http (s). Esa es la funcionalidad mínima. Entonces, lanzó alrededor de muchas características adicionales ...

JBOSS/Tomcat no es solo un "servidor web"; un tomcat proporciona funcionalidad para que una aplicación Java responda a las solicitudes enviadas a ese servidor, un JBOSS es mucho más, proporciona técnicas especiales para "implementar" su software en el entorno de producción, y más ...

Todos estos productos tienen la funcionalidad de "servidor web", pero distinguen en lo que sucede detrás de la solicitud http, eso es lo que genera la "respuesta".

Para confundirlo un poco más, puede ejecutar ASP.NET en un servidor web apache (que debe ampliarse con las funciones para "ejecutar el código .NET"). Y, por supuesto, puede compilar compuestos de todos estos productos, ya que el protocolo http puede ser utilizado por proxies. Por ejemplo, puede usar un servidor web apache como punto de acceso de cliente que se autentica en alguna base de datos y luego reenvía las solicitudes a un servidor IIS con firewall que solo permite conexiones desde apache. Así que usted puede implementar una autentificación (o equilibrador de carga) que puede ser soportada en el servidor de ventanas ...

la esperanza de que se aclaró algunas cosas ...

robar

Cuestiones relacionadas