簡介
PythonWeb伺服器
網關接口(Python Web Server Gateway Interface,縮寫為WSGI)是Python應用程式或框架和Web伺服器之間的一種接口,已經被廣泛接受, 它已基本達成它的可移植性方面的目標。
WSGI 沒有官方的實現, 因為WSGI更像一個協定. 只要遵照這些協定,WSGI套用(Application)都可以在任何伺服器(Server)上運行, 反之亦然。
WSGI標準在
PEP 333 中定義並被許多框架實現,其中包括現廣泛使用的django框架。
特點
Python Paste - WSGI底層工具集. 包括多執行緒, SSL和 基於Cookies, sessions等的驗證(authentication)庫. 可以用Paste方便地搭建自己的Web框架。
WSGI:Python Web Server Gateway Interface v1.0
它是 PEP3333中定義的(PEP3333的目標建立一個簡單的普遍適用的伺服器與Web框架之間的接口)
WSGI是Python應用程式或框架和Web伺服器之間的一種接口
WSGI被廣泛接受, 已基本達成它了可移植性方面的目標
在Guido的
Blog 中反覆提及, 個人認為WSGI是Python Web方面最Pythonic的
類似於Java中的"servlet" API。
歷史
自從WSGI被開發出來以後,許多其它語言中也出現了類似接口。
2003年: 原初的Python版本
2007年: Rack,Ruby版本
2008年: Lua WSAPI,Lua版本
2009年: JSGI,Java版本
2009年: PSGI,Perl版本
背景
以前,如何選擇合適的Web應用程式框架成為困擾Python初學者的一個問題,這是因為,一般而言,Web套用框架的選擇將限制可用的Web伺服器的選擇,反之亦然。那時的
Python應用程式通常是為CGI,FastCGI,mod_python中的一個而設計,甚至是為特定Web伺服器的自定義的API接口而設計的。
WSGI是作為Web伺服器與Web應用程式或套用框架之間的一種低級別的接口,以提升可移植Web套用開發的共同點。WSGI是基於現存的[[CGI]]標準而設計的。