2019-07-17

解析动态请求


WSGI

WSGI允许开发者将选择web框架和web服务器分开。可以混合匹配web服务器和web框架,选择一个适合的配对。

web服务器必须具备WSGI接口,所有的现代Python Web框架都已具备WSGI接口,它让你不对代码作修改就能使服务器和特点的web框架协同工作。

定义WSGI接口

WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。我们来看一个最简单的Web版本的“Hello World!”:

defapplication(environ, start_response):start_response('200 OK', [('Content-Type','text/html')])return'Hello World!'

上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:

environ:一个包含所有HTTP请求信息的dict对象;

start_response:一个发送HTTP响应的函数。

整个application()函数本身没有涉及到任何解析HTTP的部分,也就是说,把底层web服务器解析部分和应用程序逻辑部分进行了分离,这样开发者就可以专心做一个领域了

不过,等等,这个application()函数怎么调用?如果我们自己调用,两个参数environ和start_response我们没法提供,返回的str也没法发给浏览器。

所以application()函数必须由WSGI服务器来调用。有很多符合WSGI规范的服务器。而我们此时的web服务器项目的目的就是做一个既能解析静态网页还可以解析动态网页的服务器


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 谈论WEB编程的时候常说天天在写CGI,那么CGI是什么呢?可能很多时候并不会去深究这些基础概念,再比如除了CGI...
    __七把刀__阅读 2,226评论 2 11
  • WSGI的全称是Web Server Gateway Interface,翻译过来就是Web服务器网关接口。具体的...
    iqunqunqun阅读 20,142评论 1 18
  • HTTP协议之梗概 程序员必修课,今天我们一起来巩固网络知识吧。 了解web及网络基础 1. Web建立在什么技术...
    Emma_虫儿阅读 1,066评论 0 0
  • 在web服务器运行中,为了防止请求的文件打开有异常,要在判断文件是否以“.py”结尾之后加上异常调试。 搜索到了一...
    菩灵阅读 343评论 0 3
  • 《皮鞋》这部电影10月17日全国公映,演员阵容就像他的名字,从导演到主演,从制片人到群演,几乎全都名不见经传,甚至...
    零点好信息阅读 322评论 0 1