新闻资讯
看你所看,想你所想

wsgi

wsgi

wsgi

WSGI是Web Server Gateway Interface的缩写。以层的角度来看,WSGI所在层的位置低于CGI。但与CGI不同的是WSGI具有很强的伸缩性且能运行于多执行绪或多进程的环境下,这是因为WSGI只是一份标準并没有定义如何去实现。实际上WSGI并非CGI,因为其位于web应用程式与web伺服器之间,而web伺服器可以是CGI,mod_python(注:现通常使用mod_wsgi代替),FastCGI或者是一个定义了WSGI标準的web伺服器就像python标準库提供的独立WSGI伺服器称为wsgiref。

基本介绍

  • 中文名:wsgi
  • 外文名:wsgi
  • 领域:计算机网路
  • 特点:多执行绪

简介

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]]标準而设计的。

转载请注明出处海之美文 » wsgi

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com