用來規定一個程序該如何與web服務器程序之間通訊從而可讓這個程序跑在web服務器上。固然,CGI 只是一個很基本的協議,在現代常見的服務器結構中基本已經沒有了它的身影,更多的則是它的擴展和更新。
假設咱們使用 python 的 Django 框架寫了一個網站,如今要將它掛在網上運行,咱們通常須要: 1.nginx 作爲代理服務器:負責靜態資源發送(js、css、圖片等)、動態請求轉發以及結果的回覆; 2.uWSGI 作爲後端服務器:負責接收 nginx 請求轉發並處理後發給 Django 應用以及接收 Django 應用返回信息轉發給 nginx; 3.Django 應用收到請求後處理數據並渲染相應的返回頁面給 uWSGI 服務器。
WSGI(Python Web Server GateWay Interface)css
它是用在 python web 框架編寫的應用程序與後端服務器之間的規範(本例就是 Django 和 uWSGI 之間),讓你寫的應用程序能夠與後端服務器順利通訊。在 WSGI 出現以前你不得不專門爲某個後端服務器而寫特定的 API,而且沒法更換後端服務器,而 WSGI 就是一種統一規範, 全部使用 WSGI 的服務器均可以運行使用 WSGI 規範的 web 框架,反之亦然。
簡單來說,這些名詞的關係就是下圖:前端