0711-web框架01[基础]
首先 web框架是什么
web框架,我理解为就是一个程序,HTTP服务器在遇到动态资源请求的时候就转接(或调用)给web框架
web框架处理和生成对应的动态的页面,所以web框架可以是各种语言的,这里就用python
然后就是,怎么判断请求的是动态的呢,就看HTTP/1.1 后面那玩意,这里我就规定如果是.py结尾就扔给web框架来处理
WSGI协议
WSGI协议,是用来规定web框架和HTTP服务器间交流的一种协议
这个协议规定了 服务器/框架 在 发送/接收 时 要传输/接收 两个参数
第一个是要处理的请求(字典格式),第二个是用以被框架调用的函数
具体来说就是web框架会根据第一个参数生成页面返回body,然后调用第二个参数指向的函数返回header
第二个函数我这里就写了参数就是第一个是状态,(200 OK),第二个是其他的内容
比如Content-Type,text/html;charset=utf-8
以及或许你可以写个框架的版本上去,但是这样不相当于把自己翻出来给别人看嘛
(所以可以写个假的,我用flask写其他的
如果要写服务器的内容,不能写这里面,因为这样就违反了WSGI协议,写那个传进去的函数里
也就是在服务器里写
我这就是self.headers = [("server", "mini_web vQAQ666.666")]
啊,当然正规网站不会这样写:D
反正就是这里多写将来就会多传输这些乱七八糟的玩意到header里
之前写个空字典,让服务器支持WSGI,现在该往里面塞东西了
赛什么呢,反正定义个键值对,键的话就叫PATH_INFO,值嘛自然就是flie_name了
然后框架里把flie_name取出来,再判断(if)具体返回哪个页面就行了