What are CGI, FastCGI, WSGI, uWSGI, uwsgi?

CGI 

 

1. Common Gateway Interface (CGI), CGI describes a standard for data transmission between servers (nginx, apache) and request handlers (django, flask, springboot web framework).
2. All bs architecture software follows the CGI protocol
3. Summary in one sentence: a standard that defines how to transfer data between client and server

FastCGI

1. Fast Common Gateway Interface (Fast Common Gateway Interface/FastCGI) is a protocol that allows interactive programs to communicate with Web servers. FastCGI is an enhanced version of the earlier Common Gateway Interface (CGI)

2. FastCGI is committed to reducing the interaction overhead between the web server and the CGI program, so that the server can process more web page requests at the same time.

3. Common fastcgi servers: Apache, Nginx, Microsoft IIS

One sentence summary: an upgraded version of CGI

 

 WSGI

1. Python Web Server Gateway Interface, abbreviated as WSGI, a common interface between a Web server and a Web application or framework defined by Python

One sentence summary: The interface standard between web servers and web frameworks defined for Python

 ooze

  1. It is a unique protocol implemented by the uWSGI server, which defines the type of transmission information and is a communication specification for the front-end server and uwsgi.
    2. One sentence summary:
        uWSGI server owns a protocol
        uWSGI: web server, equivalent to wsgiref    

 uWSGI

1. The web server conforming to the uwsgi protocol is written in c and has relatively high performance. We usually use it to deploy django and flask.

One sentence summary: A Web Server (web server), that is, a server that implements the WSGI protocol, processes incoming requests and returns responses. 

What exactly is a web server? server middleware

客户端(浏览器,app)跟服务器(web框架)之间的东西,服务器中间件
# nginx  apache  是一类东西,就是做请求转发,符合fastcgi服务器
# uWSGI,gunicorn 只针对于python的web框架
# tomcat,jboss,weblogic 只针对java的web框架
# php-fpm  针对于php的框架

 process:

 Enter the IP address port 8080, nginx listens to port 8080, nginx forwards to the uwsgi-compliant web server (that is, the uWGI server), and the uWGI server sends to the wsgi-compliant web framework

Note: When using the django framework, the uwsgi server is generally used for forwarding, because it is unique to python and has high performance. Other servers can also be used.

Other languages ​​will also have their own unique web server

Guess you like

Origin blog.csdn.net/xiaolisolovely/article/details/132188462