下面的內容純屬我的學習心得,若是對於個人觀點有疑問,敬請留言,我將虛心向大牛學習。web
WSGI的全稱是WEB SERVICE GATEWAY INTERFACE.WSGI 不是服務器,不是API,也不是模塊,而是一種協議規範,是描述web service 和web application通訊的協議規範。服務器
要實現WSGI協議,必須實現web service 和 web application ,當前運行在WSGI上的協議框架有FLASK,DJANGO,TORANDO.app
WSGI協議必須包含兩部分,分別爲web service 和web application這兩部分,客戶端與服務器的實現原理圖以下所示:框架
WSGI application接收由server轉發的request,處理請求,並將處理結果返回給server。application中能夠包括多個棧式的中間件(middlewares),這些中間件須要同時實現server與application,學習
所以能夠在WSGI服務器與WSGI應用之間起調節做用:對服務器來講,中間件扮演應用程序,對應用程序來講,中間件扮演服務器。server
只要web service 和web application 同時實現了WSGI的協議,那麼不一樣的web service 就能夠和同一個web application 組合成爲一個服務器,一樣的不一樣的web application 能夠和同一個web中間件
service組合成爲一個服務器。blog