web请求响应过程与python主流三大web框架

Posted 1832921tongjieducn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web请求响应过程与python主流三大web框架相关的知识,希望对你有一定的参考价值。

技术图片

web请求流程:

首先一个浏览器通过http协议发送一个请求,到我们的服务器,首先是wsgiref接收这个请求,
并且解析这个请求中的数据,并将这个数据全部解析成一个env的大字典,wsgiref封装的就是
socket连接和数据解析的功能,解析之后得到数据,就能知道浏览器的请求是什么,然后拿着请
求类型和urls中的路由与视图函数映射关系获取到到低是要哪个视图,匹配成功之后,再到views.py
的具体的视图中去,执行这个具体的特定的视图函数,这个视图函数在执行的过程中,需要首先到
templates中去找到特定的html文件,这个html文件就是前端渲染出来的效果,这个html可以通过
模板语法得到后端也就是这个视图函数中生成好的数据,在这个过程中视图函数也可以去操作数据
库得到特定的数据,并结合HTML模板一起渲染,渲染好之后再发送给wsgiref,将数据打包使其符合HTTP
协议发送到浏览器,这样一次完整的请求就算结束了.

那么,什么是web框架呢?web框架就是上面图中的那个红色的部分,就是连接浏览器与数据库操作,中间的部分,全部封装好的一个框架,就叫做web框架.我们只需要使用这个框架往特定的区域填写代码就可以了

 

python三大主流框架:

a:socket服务

b;路由与视图映射关系

c:模板渲染

 

Djangp:大而全.类似于航空母舰,但是有点笨重

  a用的是别人的,wsgiref 上线之后会变成uwsgi

  b:自己写的

  c:自己写的 用的是一个类似于jinja2的模块

flask:小而精,轻量级类似于游骑兵,

  a用的别人的 werkzeug

  b;自己写的

  c:用的别人的 jinja2

tornado:异步非阻塞,高并发的智能用这个

  abc三者都是自己写的

 

以上是关于web请求响应过程与python主流三大web框架的主要内容,如果未能解决你的问题,请参考以下文章

Django初窥

Django框架介绍 python三大主流web框架之一

Django简介

Django基础之前戏

jango/Flask/Tornado三大web框架性能分析

Django/Flask/Tornado三大web框架性能分析