首页
学习
活动
专区
圈层
工具
发布

了解WSGI
EN

Stack Overflow用户
提问于 2012-05-16 06:57:31
回答 1查看 2.3K关注 0票数 13

我正在尝试理解WSGI的功能,需要一些帮助。

到目前为止,我知道它是服务器和应用程序之间的一种中间件,用于连接不同的应用程序框架(驻留在服务器端)和应用程序,前提是相关框架具有WSGI适配器。继续理论部分,我知道为了让服务器与应用程序通信,服务器调用一个callable (它有两个参数:环境变量和start_response函数)。这里的start_response函数由服务器提供(?)并由应用程序使用,带有响应状态和报头,然后是响应正文。

我对上面写的内容理解得很少,所以这里有一些新手问题: 1)一般的调用流程是什么?应用程序将为服务器提供一个可调用对象,然后服务器将使用该可调用对象并使用env_vars和start_response函数作为参数来调用应用程序?

2)最让我困惑的是,应用程序发送的是请求头,然后又发送了响应体。这是什么类型的请求?

请给我开导一下,因为我无法理解这些东西。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-31 16:01:08

调用流程如下:

  1. 服务器获得http连接,
  2. 服务器解析http请求行和头部,读取正文,
  3. 服务器根据请求填充环境字典,

H19服务器调用以E110环境E211和start_response作为参数的应用程序可调用的应用程序,<代码>H214<代码>H115应用程序可调用的start_response以及响应状态和响应头,<代码>H218<代码>H119应用程序向服务器返回响应体,

  1. 服务器将http响应发送给客户端。

对于第二个问题,请求/响应是由wsgi协议定义的接口(例如,status =‘200OK’,response_headers = ('Content-type','text/plain')),与http请求/响应不同。

您可以浏览标准库模块wsgiref作为参考。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10609961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档