web框架

"""
框架的作用:
web服务器显示的是固定的<是服务器提前准备好的>,需要实时更新的数据就不支持
web服务器保存静态资源<图片等>:不会经常发生变化.意思就是一个仓库,里面的东西需要拿工具来进行操作,从而实现删除.

框架就是一个工具,用来对服务器资源进行增删改查的操作,使得服务器的资源进行变化.实现动态

动态资源:比如我们需要微博上面最热的资源,实时变化的热搜网
web框架就是一套程序,django/flask
热搜榜是存在数据库里面的,人为的按照热度排序,
至于图片和样式等,都是去静态资源里面拿,
请求的是变化的资源叫动态资源.

静态资源:不需要经常变化
动态资源:经常需要变化

静态资源更快,动态稍微慢一点.
服务器做的好,这两者的差别是不会被用户感觉出来的.

1.>框架的作用:和web服务器一起完成数据响应<涉及到动态资源的请求就是服务器向web框架请求,然后框架去数据库中取值>
处理动态的资源,一起完成用户的请求处理.
2.>模板:就是一套网页.就是个盒子,就是把数据库查出来的数据放到盒子里面显示出来.
没有数据的网页,只要数据库查出来了才会有数据.
模板相当于饺子皮,里面来装饺子馅
模板的作用:
web开发:基于框架完成应用程序的编写
框架里面操作数据库比较简单
爬虫:自己作为浏览器去请求数据
"""
"""
框架和web服务器之间的协议:WSGI协议
作用:服务器和框架之间进行通信的协议
凡是进行通信,就需要通信协议

服务器怎样把数据给框架?
框架又把最终的处理结果给服务器?
服务器把请求放到字典中,给框架,框架就可以取出请求.
分为三部分:请求行,请求头,请求体
"""
# ------------------------------------
"""
web网络请求从客户端发送到服务器接收到这个请求的中间过程:
	1.>做DNS域名解析,获取服务器的IP地址
	2.>根据获取的IP地址,和服务器建立连接,,然后进行数据收发.

浏览器做DNS域名解析的过程:
	1.>在浏览器自己的缓存中寻找与域名对应的IP地址记录(如果没有,进行下面的步骤)
	2.>在本网络中的本主机的hosts文件中,查找域名与IP地址的记录(如果没有,执行下面的步骤)
	3.>向DNS服务器发送请求,查询域名对应的IP地址

注: 例如在Pycharm激活过程中,0.0.0.0 account.jetbrains.com 就是IP和Pycharm官方网站的域名对应关系.如果找到hosts中的域名IP对应关系,那么DNS就解析完成.
DNS服务器就是运营商手中有IP和域名关系的对应关系表.所以可以完成解析.最终目的反正都是找到IP就行.


0.0.0.0才是真正表示“本网络中的本机”。
DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 
"""
# ------------------------------------------
"""
服务器与框架各自的主要功能:
	服务器:
	1.>网络通信,收发数据
	2.>解析请求报文,生成数据字典.  找目标数据
	3.>组装响应报文.     合成标准的传输数据格式
	
	框架:
	1.>路由匹配,找到要执行的视图函数
	2.>执行视图函数,做具体的业务操作(增删改查)
	3.>设置响应行,头.返回响应体数据给服务器.
	意思就是框架是工具,把服务器需要进行的数据操作,比如取数据,
	取数据就是执行视图函数.设置响应行,响应头这些固定操作等,
	就交给框架来操作了.
	
	在后端,从接收到请求再到完成响应大概会经过哪些过程?
	1.解析报文
	2.匹配路由
	3.执行视图函数
	4.返回响应
	
"""
原文地址:https://www.cnblogs.com/huaibin/p/12100824.html