Wednesday, April 15, 2015

WSGI vs uWSGi

Ok, guys this confusion is because of lack of detail from several sources, and the naming of these protocols, and what WSGI actually is.

Summary:

1. WSGI and uwsgi both are protocols, not servers. It is used to communicate with web servers for load balancing and especially to take advantage of extra features that pure HTTP can not provide. So far Nginx and Cherokee have implemented this protocol.

2. uWSGI is a server and one of the protocols it implements is WSGI. WSGI is a Python specification. There are several implementations of the WSGI specification and it's intended to be used for more than just application servers/web servers, but there are quite a few WSGI application servers (ie. CherryPy, which also happens to have a production ready WSGI compliant web server, if you weren't confused enough already!).

3. Comparing uwsgi to WSGI is comparing oranges to apples.

Reference:

http://stackoverflow.com/questions/7739810/wsgi-vs-uwsgi-with-nginx
http://flask.pocoo.org/docs/deploying/uwsgi/
http://nichol.as/benchmark-of-python-web-servers

No comments: