WSGI是一套协议,主要作用是规范了wsgi server 和wsgi app之间的接口,
具体表现为如下:
environ
和函数start_response
传递给wsgi app;在调用前首先由wsgi app调用start_response构建相应包头
from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server
# A relatively simple WSGI application. It's going to print out the
# environment dictionary after being updated by setup_testing_defaults
#############################################################
#主要给app传递environ和start_response函数
#############################################################
def simple_app(environ, start_response):
setup_testing_defaults(environ)
status = '200 OK'
headers = [('Content-type', 'text/plain; charset=utf-8')]
start_response(status, headers)
ret = [("%s: %s\n" % (key, value)).encode("utf-8")
for key, value in environ.items()]
return ret
httpd = make_server('', 8000, simple_app)
print("Serving on port 8000...")
httpd.serve_forever()
QUERY_STRING
查询字符串的作用和意义,查询字符串就是进入某一菜单或某一栏目的一个url,这个在设计网站的url时比较注重,举例如下:
PATH_INFO
路径字符串就是如上图片中得category.html
在后端程序主其实很大一部分精力就是在处理PATH_INFO
和QUERY_STRING
信息,根据他俩得信息给用户反馈具体得页面内容。因此这也就是wsgi将请求字典传递给后端程序,后端程序第一步就要解决分析的k v值。
webob模块官网学习参考