前后端分离很多文章都说不清楚,本来因为不懂才去看,但是看了他们写的之后我更不懂了,我现在来发表一下我的认知的前后端分离:

什么都不会就可以看

概念

前后端分离字面上解释就是前端和后端分开用:
什么是前端:即客户端,负责渲染页面的,简单来说就是页面。
什么是后端:就是服务器,负责收发http请求,和处理数据的。

他们之间是什么关系呢?简单来说就是:你现在正在看我的文章对吧?这个页面是靠前端技术来显示的,而上面的这些字和图片是存在服务器上的

什么是http请求和非前后端分离

我现在举个例子:你把你的钱存在银行里面,你去银行取钱是不是要告诉服务的人我可以取钱吗,这是我的卡号,这个问的过程就是http请求。
另一个例子:你现在访问https://www.bilibili.com/这个网页,是不是要在浏览器上输入网址然后敲下回车才能访问,这个浏览器就是客户端,而在你桥下回车之后的一小段时间里,浏览器就给哔哩哔哩的服务器发请求,说我要看你们这个网页,你通过一下嘛,然后服务器就把网页和数据发给你看了

上述的流程就是下图这样:这个就是非前后端分离的应用

什么是前后端分离

前后端分离最主要是把服务器分成了两个(前端服务器和后端服务器),以前只有一个服务器用来装全部的东西(页面和数据),现在分成两个了,前端服务器装页面,后端服务器装数据

下面我给个架构细说:

再用上面的例子,我们要访问的页面长这个样:

现在走一下流程:浏览器访问https://www.bilibili.com/这个网址,在敲下回车之后,浏览器向前端服务器发送http请求,和它说我想看这个页面你给我一下嘛,前端服务器收到以后说:可以啊,那我发给你。然后页面就发过来留在浏览器上了,但是这个时候页面上是什么都没有的,把页面想成一张白纸(因为前端服务器不存数据),接下来浏览器就自动读这个页面里的程序,然后总结了一下:啊,原来这个页面要这些数据啊,我现在去找后端服务器要。于是浏览器又向后端服务器说:我要xxx数据你给我发过来可以吗?后端服务器收到了,然后给浏览器发了一个文件,里面放了这些数据。接下来就是最后一步了,浏览器把收到的数据发到对应的页面里,通过程序渲染了一下就变成上面那个样子了。

接下来我就只说影响较大的优缺点了

优点
最大的优点在于增加了扩展性,仔细想想如果是以前的设计方案,所有东西都往一个服务器上塞,然后哪一天老板告诉你我们这个网页不仅仅要给电脑上的人用,我们还要开发成小程序,让大家在手机上用,这个时候咋办嘛,前端后端都要改呗,但是前后端分离就不一样了,前端服务器只负责怎么显示和你用在哪里都没有关系,那么就只用改后端咯,工作量就少了,于是架构就变成了这样:

缺点
对seo的影响很大:seo是搜索引擎优化,什么意思呢?比如你要找哔哩哔哩这个网址但是你记不得网址咋办,肯定是在百度上搜一下嘛,然后是这种样子的:就是上面有很多网页吧,如果哔哩哔哩是你写的网站,你是不是更希望它更靠前一点,这样就可以有更多的人来看了,而seo就是对这个顺序的一种解决办法。它一般是靠网络爬虫来对网站进行一次访问(就像我们上网一样),然后获取网页里面的信息,最后根据这些信息里的字词给我们做推荐,那么问题来了,如果采用前后端分离,数据全部装在后端服务器里,那么爬虫再怎么1访问也就只是收到一堆程序而已,和数据不沾边,你的网页排名就会低,这么说明白吧

用最直白的方式告诉你 什么是前后端分离相关推荐

  1. java前后端分离的实现方式_采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...

    MyUploader-Backend 单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 简介 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能. 前端采用 vue.js + ...

  2. 若依前后端分离项目部署最简单的方式(推荐)

    对应若依前后端分离项目来说,部署的方式有很多种: 第1种方式:可以将前端打包整合到后端部署 第2种方式:可以使用tomcat部署(后端打war包+前端打dist包) 第3种方式:可以使用tomcat+ ...

  3. 从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言 ...

  4. Django CSRF(什么是CSRF?)\Django前后端分离csrf token获取方式

    文章目录 Django CSRF 什么是CSRF? Django CSRF Django CSRF 中间件 Django,Ajax提交csrf_token处理 Django 设置 cookie 中的 ...

  5. .vue文件_Spring Boot + Vue 前后端分离,两种文件上传方式总结!

    在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...

  6. 记录一种ssh旧系统和前后端分离新系统结合的解决方案,以及两系统间通过token进行认证的方式

    一.背景介绍 公司现有一个ssh框架的旧系统,想要转型使用前后端分离vue+springboot的新框架.由于一些原因,无法完全转型,所以考虑新增的业务需求,使用在旧系统中嵌套新系统页面的方式,之后新 ...

  7. 06-若依前后端分离项目跨域问题解决方式

    什么是跨域 跨域就是前后端分离项目前端无法把session等信息传递给后端服务器.跨域源自浏览器同源策略.同源策略是一种约定,同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互. ...

  8. 若依前后端分离版本,Windows下使用Nginx代理的方式进行部署(全流程,图文教程)

    场景 若依官网: http://doc.ruoyi.vip/ 前提: 服务器上安装Mysql,并将数据库导入,在SpringBoot中的application-druid.yml配置mysql数据库连 ...

  9. Spring Boot + Vue 前后端分离,两种文件上传方式总结

    在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...

最新文章

  1. Java提高篇——Java实现多重继承
  2. PHP未定义名称的方法,PHP:“调用未定义的方法”......但方法是否已定义?
  3. ORACLE DATAGUARD 数据库---创建逻辑备用数据库
  4. 服务质量--成功的关键因素!
  5. centos下nginx安装和配置
  6. UI线程安全 runOnUiThread 和 Handler 一般用法
  7. SORPAS-焊接仿真模拟软件
  8. MUI框架学习——了解MUI
  9. nuc10fnh寒霜峡谷linux,英特尔(Intel)寒霜峡谷NUC10i5FNH使用体验
  10. 语音处理:霍夫曼编码算法原理分析
  11. 生命以负熵为生:零知识证明的前世今生
  12. 小学生python趣味编程-【少儿编程】python趣味编程第二课:写文字
  13. DPDKVPP关键技术文档总结
  14. 几种将将虚幻引擎内容流送到多个平台的推流方案比较
  15. 实验四:继承性和派生类 建一个楼房Building为基类,建立住宅类House继承Building,存储房号和面积,建立办公室类Office继承Building,存储办公室名称和电话
  16. Netty框架之责任链模式及其应用
  17. html加拼音注释,HTML——格式化文本标记、拼音/音标注释ruby 标记和rt/rp 标记、段落缩进标记blockquote、预格式化标记pre...
  18. 2021-2027全球与中国人体解剖学模型市场现状及未来发展趋势
  19. 梅克尔树Merkle trees
  20. 【知识图谱】03图谱设计(使用Protege)

热门文章

  1. android 漏斗 动画,android 漏斗图
  2. cad和python哪个好学_入坑Python之 你在学些什么?
  3. Fibonacci数列java
  4. 月薪12K!高学历全职宝妈被骗6000元后幡然醒悟,转行程序员逆风翻盘!
  5. linux中的su-命令的功能,Linux中su命令起什么作用呢?
  6. 【转】一棵歪脖子树——全栈工程师
  7. 自动回复html模板邮件,创意十足的邮件自动回复
  8. 星链(Starlink)技术
  9. 在Word中实现方框中打对号的几种方法
  10. 记一次解决 Feign 提交批量添加请求收到 400 报错的经历