我正在尝试理解WSGI的功能,需要一些帮助。
到目前为止,我知道它是服务器和应用程序之间的一种中间件,用于连接不同的应用程序框架(驻留在服务器端)和应用程序,前提是相关框架具有WSGI适配器。继续理论部分,我知道为了让服务器与应用程序通信,服务器调用一个callable (它有两个参数:环境变量和start_response函数)。这里的start_response函数由服务器提供(?)并由应用程序使用,带有响应状态和报头,然后是响应正文。
我对上面写的内容理解得很少,所以这里有一些新手问题: 1)一般的调用流程是什么?应用程序将为服务器提供一个可调用对象,然后服务器将使用该可调用对象并使用env_vars和start_response函数作为参数来调用应用程序?
2)最让我困惑的是,应用程序发送的是请求头,然后又发送了响应体。这是什么类型的请求?
请给我开导一下,因为我无法理解这些东西。
谢谢!
发布于 2012-08-31 16:01:08
调用流程如下:
H19服务器调用以E110环境E211和start_response作为参数的应用程序可调用的应用程序,<代码>H214<代码>H115应用程序可调用的start_response以及响应状态和响应头,<代码>H218<代码>H119应用程序向服务器返回响应体,
对于第二个问题,请求/响应是由wsgi协议定义的接口(例如,status =‘200OK’,response_headers = ('Content-type','text/plain')),与http请求/响应不同。
您可以浏览标准库模块wsgiref作为参考。
https://stackoverflow.com/questions/10609961
复制相似问题