003---wsgi和wsgiref模块
WSGI:
全称:Web Server Gatway Interface ,web服务网关接口,独立的,与django无关,他们俩只是遵循一个约定,是一个协议。
wsgiref模块:
实现了WSGI协议的一个模块,本质上是一个socket服务端。对请求进行解析,对响应进行封装,生产环境不用它,测试和开发阶段用。
1 from wsgiref.simple_server import make_server 2 3 def application(environ, start_response): 4 # 按着http协议解析数据 environ 5 # 按着http协议组装数据 start_response 6 # print(environ,type(environ)) # 'PATH_INFO': '/admin' 类型:dict 7 url = environ.get("PATH_INFO") 8 start_response('200 ok', [('content-type', 'text/html')]) 9 data = '' 10 if url == '/index': 11 with open(r'00、jd-server\index.html','r',encoding='utf-8')as f1: 12 data = f1.read() 13 elif url == '/login': 14 with open(r'00、jd-server\login.html','r',encoding='utf-8')as f2: 15 data = f2.read() 16 else: 17 return [b'404'] 18 19 return [data] 20 httped = make_server('', 8800, application) # 封装了socket bind linsten 21 22 httped.serve_forever() # 等待链接