python 前后端分离
1. 前后端分离1.1 什么是前后端分离前端:即客户端,负责渲染用户显示界面【如web的js动态渲染页面,安卓,iOS,pc客户端等】后端:即服务端,负责接收HTTP请求,处理数据API:Application Programming Interface 是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 在django中就是url。这个url对应的数据,前端需要数据就发送url,后端根据
·
1. 前后端分离
1.1 什么是前后端分离
前端:即客户端,负责渲染用户显示界面【如web的js动态渲染页面,安卓,iOS,pc客户端等】
后端:即服务端,负责接收HTTP请求,处理数据
API:Application Programming Interface 是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 在django中就是url。这个url对应的数据,前端需要数据就发送url,后端根据这个url返回结构化数据(如json)。
前后端分离 完整过程
1. 前端通过HTTP请求API
2. 后端以json形式返回前端需要的数据
3. 前端生成用户显示界面【如html,ios,android】
判断前后端分离的核心标准:
谁生成显示页面
1. 后端生成【前后端未分离】例:flask->render_template django->render(html)
2. 前端生成【前后端分离】
1.2 前后端分离的优点
-
各司其职,更专注于解决一个方向的问题
前端:视觉层面,兼容性,前端性能优化
后端:并发,可用性,性能
并发(大量的请求过来会不会产生资源资源竞争的问题,一个大量的并发问题都在于资源竞争)
-
解耦
前端和后端均易于扩展
-
后端灵活搭配各类前端-如安卓等
-
提高用户体验
-
前端+后端可完全并行开发,加快开发速率
1.3 分离常见问题
问题 | 答案 |
---|---|
如何解决HTTP无状态?(HTTP是无状态协议,不会记住你是否之前访问过这个网站,不使用cookie和session) | 采用token(面向计算型的一种方式,去解决状态问题)(无论是客户端还是iOS,android) |
如果前端为js,如何解决跨域问题?(ip,端口,协议一项不同就是跨域) | 采用CORS跨域方案。全称叫跨站资源共享 |
如何解决csrf问题?(没有cookie) | 采用token |
Single Page WebApplication(前端非常牛,spa应用,单页面应用,整个过程全拿js做跳转,体验贼好,全是异步刷新)是否会影响Search Engine Optimization(seo搜索引擎优化)效果 | 会,前后端分离后,往往页面不存在静态文字【如新闻的详细内容】 |
“老板,这个逻辑到底是上前端做还是后端做啊” (有些功能前后端都可以实现) | 底线原则:数据校验需要前后端都做 |
“老板,前端工作压力太大了啊” | 团队协作不能只是嘴上说说 |
动静分离和前后端分离是一个意思吗? | 动静分离指的是:css/js/img这类静态资源跟服务器拆开部署。典型方案:静态资源交由CDN(内容网络分发,就近返回)厂商处理(蓝汛 网宿 阿里CDN) |
1.4 具体实现方式
更多推荐
已为社区贡献1条内容
所有评论(0)