寻找一个解释WSGI的图表

2024-05-21 03:24:02 发布

您现在位置:Python中文网/ 问答频道 /正文

为了进一步加深我对WSGI的理解,我在寻找一个图表,它解释了一个应用程序的流程,从webserver(例如apache)到许多中间件再到“代码”(如print "hello world"位)。在

我从wsgi.org网站,但对我来说,它仍然没有“点击”,至于图表,Google除了django的this之外,并没有带来任何有用的东西,尽管它很有趣,但它希望用户了解中间件是如何连接的等等。在

既然“一幅画胜过千言万语”,有没有比这更简单的图表呢?在


Tags: 中间件代码org应用程序wsgihelloworld网站
3条回答

我也一直在寻找一个解释WSGI流的图表。所以当我发现这个话题的时候我很高兴。我对我将要看到的东西抱有很高的期望,因为我知道伊恩·比金(Ian Bicking)在编写Python方面有多出色。尽管如此,我看了伊恩的花哨管(图?)却一无所获。所以我决定自己画一张。我希望它能帮助人们理解wsgiflow是如何工作的。只要你有建议如何使它更好,我愿意修改它。它是用LUCIDCHARTwebapp创建的。您可以找到here的原始图表,而高质量的PNG是here。在

WSGI Flow

我不知道我是否可以提供您正在寻找的答案,但是您链接到的图表显示的不仅仅是wsgi。wsgi层在图的第二行结束。之后,它是特定于应用程序的。在

WSGI更像是一个接口定义或契约,归根结底是您提供了一个函数,该函数接受表示当前请求内容的字典(environ)。以及当您准备好启动响应时要调用的函数(start_response)。在

您调用的start_response方法需要一个HTTP状态代码('200ok')和一个HTTP头列表([('content-type','text/html')]。在

def say_hello(envron={},start_response):
    start_response('200 OK', [('content-type', 'text/html')])
    return ["Hello from WSGI"]

把你的web服务器链接到你的wsgi应用程序是特定于你的web服务器的,我认为关于web服务器如何到达环境字典以及你的代码调用回调的信息是你不需要关心的web服务器魔力。只要您遵守协议,web服务器就不需要关心您是如何得到由应用程序响应的输出列表的。在

Paste文档对我帮助很大。你可能会发现它很有用。顺便说一句,浆糊是一堆有用的东西,可以帮助你利用WSGI.和这些文档对于理解如何使用WSGI和扩展粘贴非常有用。在

我知道你要的是图表对不起。:(

我喜欢伊恩·比金的WSGI - A Series of Tubes中的the diagram。在

相关问题 更多 >