页面静态化

现在一些大型IT公司都在搞页面静态化,我在这里给大家分享下我的理解,希望对看了这篇文章的IT工程师们有点作用。

我在这里科普下知识,我们通常访问的页面有两种一种是静态页面[纯观赏,没有什么功能],一种是动态页面[与服务器数据库之间产生交互];

我所讲的问题就是将动态页面静态化,然后发送给客户端。可能有人会问为什么要这么做,如果对web开发有一定了解,你就会知道,经常访问数据库会给服务器带来很大压力,而且响应速度也会慢很多。

下面就页面静态化原理来做个分享,提高一个项目的性能,尤其是对阿里,京东等这样大公司来说尤其重要,因为他们的访问量很大,大年三十很多人登录手机淘宝超时,可见性能的重要性。废话不多说,要想将页面静态化,我们必须要得到一个io流让它来将我所指定的动态页面静态化,那么到底用哪个流来实现呢,谁来帮我们实现呢?其实这里不用想,一定是服务器来做这件事情。因为只有它才知道什么时候处理请求。我们可以通过过滤器filter来对请求进行拦截,一个请求中必然会带有一个响应流,它直接与客户端相连,用于输出响应内容!如果我们可以偷梁换柱,将这个流变为向我们指定的路径输出响应内容,然后再把这个本地资源重定向到客户端,是不是就可以实现页面静态化呢?如果你对装饰者,动态代理设计模式有一定了解,那么就自己动手实现一个动态页面转静态化页面吧!当然你还需要注意很多细节问题比如编码,获取文件真实路径,判断请求资源是否已经被静态化等问题。

应用场景:静态化那么好,我们就全部静态化吧!其实也有很大局限的,经常需要变动的页面,是不适合做静态化的,不利于数据的实时一致性。

分享也是进步的一种途径,我一直在学习的路上等你,少年感永在!世界的未来就在我们努力的前方!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,049评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,812评论 25 709
  • 思路总览 先看看预期成果: 1、创建网架杆件和球体 外形:使用自适应构件创建杆件,和球体。自适应构件的端头的:套管...
    BIM大学的刘明阅读 913评论 0 0