Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what is the difference between apache/nginx/IIS

I have been a java web application developer,and now I work on .net framework.

When I work in java web,we use the tomcat/jboss to deploy our application. I thought the tomcat/jboss is web server.

When I work in asp.net, I use IIS to deploy the application,then I thought the IIS is another kind of web server.

These days,I am learning rails,then I heard the nginx. From google,it is also a kind of web server.

However I found that some people said we can use nginx and IIS together,or other combination.

Now,I am confused,in my opinion a web server should handle request from the client and return the result.

Each web server should have its own suitation,for example, tomcat for java,iis for asp.net.

But why apache/nginx?


BTW,I do not mean apache/nginx is useless,I am just not Familiar with this.

I wonder if someone can explain it for me?

like image 293
hguser Avatar asked Feb 16 '12 11:02

hguser


People also ask

What is difference between Nginx and IIS?

With IIS, you get choice and control without giving up reliability or security. NGINX Plus is the all‑in‑one application delivery platform for the modern application development. NGINX is the world's most popular all‑in‑one application delivery platform for the modern application development.

What is the difference between Apache and IIS?

The Differences between Apache and IIS are:IIS comes as a package with windows and apache is an open software. While IIS runs only on the windows, Apache can run on different OS. IIS integrates with other Microsoft programs like . Net and ASP scripting language.

What is IIS Apache Nginx?

2. IIS vs Apache vs NGINX: NGINX web server. NGINX is a robust web server which was developed by Russian developer Igor Sysoev. It is a free open-source HTTP server which can be used as a mail proxy, reverse proxy server when required.

What is the difference between Nginx and Apache?

Apache is an open-source HTTP server whereas Nginx is an open-source, high-performance asynchronous web server and reverse proxy server.


1 Answers

First things first: a "web server" is just a piece of software that serves content over the http(s) protocol. That's the minimum functionality. So you threw around a lot of additional features...

JBOSS/Tomcat is not only a "web server"; a tomcat provides functionality to have a java application responding to requests sent to that server, a JBOSS is much more, it provides special techniques "to deploy" your software into the production environment, and more...

All these products have the "web server" functionality, but they distinguish in what happens behind the http request, that's what's generating the "answer".

To confuse you a little more, you can run ASP.NET in an apache web server (that has to be extended with facilities to "execute .NET code"). And of course you can build composites of all these products, since the http protocol can be used by proxies. For example you can use an apache web server as client access point that authenticates against some database and then forwards the requests to a firewalled IIS server that only allows connections from the apache. So you can implement an authentification (or load balancer) that may be unsupported on your windows server...

Hope that cleared some things...

rob

like image 149
rob Avatar answered Oct 15 '22 14:10

rob