网站优化之动静分离实现思路(1)

简介: 网站的动静分离实践(动静分离)1. 动静分离的实现思路动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。

网站的动静分离实践(动静分离)

1. 动静分离的实现思路

动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。

动静分离的一种做法是将静态资源部署在nginx上,后台项目部署到应用服务器上,根据一定规则静态资源的请求全部请求nginx服务器,达到动静分离的目标。

1.1 静态资源部署至CDN上

我们的方案是直接将静态资源全部存放在CDN服务器上。因为之前项目中的JavaScript,CSS以及img文件都是存放在CDN服务器上,将HTML文件一起存放到CDN上之后,可以将静态资源统一放置在一种服务器上,便于前端进行维护;而且用户在访问静态资源时,可以很好利用CDN的优点——CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

1.2 后端API提供数据

后端应用提供API,根据前端的请求进行处理,并将处理结果通过JSON格式返回至前端。目前应用主要采用Java平台开发,因此应用服务器主要是Tomcat服务器,现在也开始有部分应用采用 node进行开发,应用服务器也开始使用node服务器。

1.3 前后端域名

动静分离因为静态资源和应用服务分别部署在不同的服务器上,因此会面临域名策略的选择。

  • 相同域名
    采用相同域名下,用户请求api时可以避免跨域所带来的问题,相对开发更为快速,工作量也相对小一些。
  • 不同域名
    前后端采用不同域名时,需要前后端开发时兼容跨域请求的情况,开发量相对上一种会稍多一些。解决跨域方式最常用的方式就是采用JSONP,还有一种解决方式使用CORS(HTTP访问控制)允许某些域名下的跨域请求。

目前在我们的项目中JSONP方式更多,CORS因为需要浏览器支持,因此只会在APP内嵌HTML5,且需要POST方式时中使用。

采用不同域名的方式优点也是非常明显的,不同域名采用两个域名服务器,不同的域名服务器根据请求的不同采用不同的负载均衡策略;而且不同域名也可以邮箱方式前端携带过多的Cookie。

2. 动静分离的实现优缺点

2.1 优点

  • api接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供api接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。
  • 前后端开发并行:前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间
  • 减轻后端服务器压力,提高静态资源访问速度:后端不用再将模板渲染为html返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。

2.2 缺点

  • 不利于网站SEO(搜索引擎优化):搜索引擎的网络爬虫一般是根据url访问页面,获取页面的内容后去掉没用的信息例如:CSS,JavaScript,然后分析剩下的文本内容;动静分离架构模式前端数据即在是由JavaScript来完成,这就会导致网络爬虫得到的信息部分丢失。在开发中可以采用前端缓存不经常变化数据的方式来解决,只有哪些经常发生变化的数据才每次向后端请求。
  • 开发量变大,前后端交流成本升高:后端api返回的数据,往往是有自身逻辑在内的,比如返回数据中的包含status(1-处理中,2-处理成功,3-处理失败),前端需要理解status的不同含义,对应的前端操作需要理解(如,status =1 or status = 2,不可提交)。
  • 在业务高速发展时需要慎重考虑:因为开发量变大,如果在业务开始阶段,缺乏前端又要求开发速度很快,就需要慎重考虑这种方式的实现成本对业务发展的影响。

3. 实现案例

这个是在公司做的内嵌到app里的HTML5页面

相关文章
|
4月前
|
数据采集 搜索推荐 算法
|
8月前
|
缓存 PHP Apache
架构 网站优化
架构 网站优化
53 0
|
8月前
|
缓存 PHP 开发工具
架构网站优化
架构网站优化
|
XML 编解码 搜索推荐
网站优化如何做?SEO怎么做?
网站优化如何做?SEO怎么做?
264 0
|
缓存 CDN
网站优化第一次网页加载的速度的办法与思路。
网站重新开发了一次,第一次部署到测试网络,访问速度很慢,差不多第一次加载得需要 40 秒,太慢了,这里简单总结一下。
89 0
|
数据采集 移动开发 前端开发
|
前端开发 JavaScript 应用服务中间件
网站如何动静分离-网站性能优化(1)
网站的动静分离实践(动静分离) 1. 动静分离的实现思路 动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。
1303 0
|
搜索推荐 SEO 定位技术
SEO网站优化的八个步骤
网站优化对网站来说是非常重要的,直接决定和影响着网站所起到的作用,以及在各个地方当中的排名。在进行seo优化的过程中,我们必须要坚持一定的原则,真正的把这些事情做得更好,才可以确保最终的结果,这对于我们来说是非常重要的事。
|
搜索推荐 数据挖掘 SEO
大型网站优化方案思路技巧总结
在大型网站优化当中,SEO的术体现的并不明显。比如外链、TDK等这些基础的专业点比重是比较低的。对于大型网站的SEO优化操作更多的需要去把控好网站运营的思维来进行优化和调控,严格来说,哪怕是一个小型的企业网站,如果运用了大型网站优化的思维在里面。
1802 0

热门文章

最新文章