""" 框架的作用: 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.返回响应 """