003---wsgi和wsgiref模块

时间:2021-05-03 14:49:59

WSGI:

  全称:Web Server Gatway Interface ,web服务网关接口,独立的,与django无关,他们俩只是遵循一个约定,是一个协议。

wsgiref模块:

  实现了WSGI协议的一个模块,本质上是一个socket服务端。对请求进行解析,对响应进行封装,生产环境不用它,测试和开发阶段用。

 from wsgiref.simple_server import make_server

 def application(environ, start_response):
# 按着http协议解析数据 environ
# 按着http协议组装数据 start_response
# print(environ,type(environ)) # 'PATH_INFO': '/admin' 类型:dict
url = environ.get("PATH_INFO")
start_response('200 ok', [('content-type', 'text/html')])
data = ''
if url == '/index':
with open(r'00、jd-server\index.html','r',encoding='utf-8')as f1:
data = f1.read()
elif url == '/login':
with open(r'00、jd-server\login.html','r',encoding='utf-8')as f2:
data = f2.read()
else:
return [b''] return [data]
httped = make_server('', 8800, application) # 封装了socket bind linsten httped.serve_forever() # 等待链接