3

I'm wondering what protocol is used for communication between web server, e.g. Apache, Nginx and CGI, e.g. FCGI, UWSGI?

micgeronimo
  • 257
  • 1
  • 2
  • 6
  • 1
    Your question is not clear. What protocol allows for Apache and Nginx to support CGI, that would be of course, [FastCGI](https://en.wikipedia.org/wiki/FastCGI). [WSGU](https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface) allows for Python support in any application that implements its protocol. [UWSGI](https://en.wikipedia.org/wiki/UWSGI) is one of those implementations. – Ramhound May 04 '16 at 17:48

1 Answers1

3

uWSGI uses the uwsgi protocol (which is somehow related to the WSGI interface, but I'm not sure how), while FastCGI & fgcid use the FastCGI protocol.

Traditional "CGI" didn't have much of a protocol at all – the server would just spawn (fork+exec) the CGI script with HTTP request headers in environment variables (e.g. $HTTP_REFERER), and the script would print a raw HTTP reply to stdout.

u1686_grawity
  • 426,297
  • 64
  • 894
  • 966