# C/S架构 C/S架构即客户端和服务器的架构模式,Client/Server。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。 # B/S架构 B/S架构即浏览器和服务器架构模式,Browser/Server。随着网络技术的发展,特别随着Web技术的不断成熟,B/S 这种软件体系结构出现了。B/S(Browser/Server)架构也被称为浏览器/服务器体系结构,这种体系结构可以理解为是对 C/S 体系结构的改变和促进。由于网络的快速发展,B/S 结构的功能越来越强大。这种结构可以进行信息分布式处理,可以有效降低资源成本,提高设计的系统性能。B/S 架构是有更广的应用范围,在处理模式上大大简化了客户端,用户只需安装浏览器即可,而将应用逻辑集中在服务器和中间件上,可以提高数据处理性能。在软件的通用性上,B/S 架构的客户端具有更好的通用性,对应用环境的依赖性较小,同时因为客户端使用浏览器,在开发维护上更加便利,可以减少系统开发和维护的成本。 B/S 的特征和基本结构:在 B/S 结构中,每个节点都分布在网络上,这些网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务。三个层次的划分是从逻辑上分的,在实际应用中多根据实际物理网络进行不同的物理划分。 - 浏览器端:即用户使用的浏览器,是用户操作系统的接口,用户通过浏览器界面向服务器端提出请求,并对服务器端返回的结果进行处理并展示,通过界面可以将系统的逻辑功能更好的表现出来。 - 服务器端:提供数据服务,操作数据,然后把结果返回中间层,结果显示在系统界面上。 - 中间件:这是运行在浏览器和服务器之间的。这层主要完成系统逻辑,实现具体的功能,接受用户的请求并把这些请求传送给服务器,然后将服务器的结果返回给用户,浏览器端和服务器端需要交互的信息是通过中间件完成的。 # 前后端分离 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。 核心思想是前端HTML页面通过AJAX调用后端的RESTFUL API接口并使用JSON数据进行交互。 - Web服务器:一般指像Nginx,Apache这类的服务器,他们一般只能解析静态资源; - 应用服务器:一般指像Tomcat,Jetty,Resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好; 以前的Java Web项目大多数都是Java程序员又当爹又当妈,又搞前端,又搞后端。随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情。 # 框架 - JavaScript - jQuery - react - angular - vue - express