WSGI全稱爲Web Server Gateway Interface,WSGI容許web框架和web服務器分開,能夠混合匹配web服務器和web框架,選擇一個適合的配對。好比,能夠在Gunicorn 或者 Nginx/uWSGI 或者 Waitress上運行 Django, Flask, 或 Pyramid。html
web服務器必須具有wsgi接口,全部的現代Python web框架都以具有wsgi接口,它不讓你對代碼做修改就能使服務器和web框架協同工做。java
其餘語言也有相似的接口:java中的servletpython
WSGI接口的定義很是簡單,它只是要求web開發者實現一個函數,就能夠相應http請求。咱們來看一個最簡單的Web版本的「Hello, World!」:web
def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return 'Hello World!'
上面的 application() 函數就是符合WSGI標準的一個HTTP處理函數,它接收兩個參數:瀏覽器
函數的返回值Hello, World!將做爲HTTP響應的Body發送給瀏覽器。
application()函數必須由WSGI服務器來調用。服務器