应用系统的架构
动静分离是指将网站的静态资源和动态请求内容分开部署和处理。静态资源主要包括HTML、CSS样式表、JavaScript、图片等内容相对固定的文件,这些文件的内容不会随着用户的行为模式变化;而动态内容则是由后台应用根据用户的请求动态生成的内容,如网页上的动态数据、个性化内容等。通过将静态资源和动态请求分开部署,可以提高前端的响应速度和处理性能。
静态内容由专门的静态资源服务器(Nginx、Apache等)直接处理和提供,可以显著减少对应用服务器的请求量,从而降低后者的负载。另外静态内容易于被浏览器和CDN(内容分发网络)缓存,通过合理设置缓存策略,可以减少对服务器的重复请求,进一步降低系统负载,加快响应速度。
“新闻内容管理系统v1.0”的新闻网站模块采用SpringBoot框架开发,部署在Java应用服务器上运行;CSS样式表、图片等静态资源存放在Apache服务器上,由Apache负责静态资源的解析。

1、Apache:静态资源服务器,发布应用系统的静态资源,处理客户端的静态资源请求,为用户提供CSS样式表、图片、JavaScript代码等静态资源文件。
2、Application:应用服务器,编译打包完成的应用程序以jar包的形式直接运行在Java虚拟机上,接收客户端的http请求,并将执行结果以html页面等形式返回给客户端。
3、MySQL:数据库服务器,存放应用系统的所有数据,用户通过应用服务器上的应用程序实现对数据的增删改查等操作。
系统的运行原理
- 客户端Client的请求通过http协议发送给应用服务器上的应用程序。
- 应用程序接收到请求后会按要求对数据进行处理,处理过程中通常会有一次到多次的数据库数据读写操作。
- 数据处理完毕后,应用程序将执行结果以html页面等形式返回给客户端。
- 客户端接收到返回结果后,会从中解析出CSS样式表、JS代码、图片等静态资源的地址。
- 客户端通过静态资源地址再次向Apache静态资源服务器发送请求,获取静态资源文件,直到所有的静态资源文件获取完毕。
- 客户端将所有的静态资源文件整合在应用程序返回的html页面等结果中,完整展示本次请求的结果。