网站性能优化的方面有很多:
1,使用缓存,最传统的一级二级缓存;
2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高;
3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代理,将请求分散开来;
4,数据库的读写分离,不同的数据库,将读操作和写操作分开,并实时同步即可;
5,分布式缓存,使用memcached或者redis等分布式缓存服务器,可以达到效果;
6,页面静态化。当然还有其他很多方便需要处理,例如,数据库的设计,分库分字段,sql语句的优化等等
页面静态化有以下几方面好处:
1,访问速度,不需要去访问数据库,或者缓存来获取哪些数据,浏览器直接加载渲染html页即可。所以可以大大的提高访问效率;
2,从网站优化来分析,搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高。
3,从安全角度讲,静态网页不易遭到黑客攻击,如果黑客不知道你网站的后台、网站采用程序、数据库的地址,静态网页, 更不容易受到黑客的攻击。
4,从网站稳定性来讲,如果程序、数据库出了问题,会直接影响网站的访问,而静态网页就避免了如此情况,不会因为程序等,而损失网站数据,影响正常打开,损失用户体验,影响网站信任度。
实 现逻辑:
一,首先需要我们将一些需要静态化的页面进行分类,哪些经常不变内容的页面都需要静态化,例如,在电商里边的商店,店铺信息页;商品,货物信息页 等等。这些页面一旦发布了,后来改变的相对来说频率比较低,所以生成静态页面相对来说,可以大大提高用户的访问速度(不需要访问数据库,来动态生成jsp页面)。
二,将动态和静态分离开,例如:页面中用户信息,搜索栏等。这些信息需要从服务器获取,而那些静态页面一般放在云服务器上,例如上篇说到的阿里的OSS服务器,这里就涉及到跨域问题,利用JSONP,来进行静态页面和动态页面,不同域直接的整合。
三,静态页面的生成,方法很多,这里简单说一下,例如FreeMarker,首先利用FreeMarker写好对应的静态模版.ftl。然后通过接口来传递数据,生成静态的HTML页面,并上传对应的云服务器上,然后用户直接访问对应的地址即可。
注意问题:
一,每一个商店,每一个产品都会产生一个,甚至是一套静态页面,随着网站的扩大,静态html页面将会不断的增大,增多,所以管理这些静态页面就非常需要提前思考了。例如路径的管理,控件的管理,及时更新的管理等等。
二,有些页面并不一定非要来静态化,但是为了避免地址暴露过多的信息,受到不法分子的攻击,URL伪静态也可以帮助我们,使页面看起来就像静态页面一样,这里提供一个URLRwrite,很简单好用,原理只是一个Filter。
原文地址:https://www.cnblogs.com/zjw666/p/10361155.html