• 静态 VS 动态网页


    所谓静态或动态网页, 都是指 Server 端的。

    何谓动态,即 ASP,PHP 等动态生成的。何谓静态,即 HTML 网页。但对 Client 端来说,只有一个,即 HTML 网页。所以,动态生成后的网页,和传统的静态网页,是一样一样的,并没有本质的区别。

    那么,为什么有的网站,采用动态网页,却导致性能低下呢?

    例如:论坛中的贴子,采用动态网页,看的人一多,就运行缓慢。

    我认为,这不是动态网页的错,而是设计的问题。首先,各种贴子,一般都保存在数据库里。而操作数据库,大多都要锁定。其底层机制我不清楚,但锁定,应该是导致性能低下的原因。何谓锁定,即一个一个的来。一万人访问,一人 0.1 秒,就是 1000 秒,不慢才怪!即使不锁定,从数据库提取数据需要时间,提取数据后生成网页又需要时间。如果省略此两项操作,则可提升性能。

    怎样才能提升性能呢?有人采用模板的方式,生成静态网页。但这种作法有个问题:数据与表现耦合。如想改变网页外观,就得把所有的静态网页重新生成一遍。更何况,像访问人数统计之类的即时消息,它是心有余而力不足。

    怎样才能做到性能与灵活并重呢?

    别忘了,文件早在数据库诞生前,就已经用来保存数据了。我的方案是:将帖子的标题,内容等信息保存到 .js  文件中,再导入 jQuery 库,借助 Client 端的力量,在动态生成后的 HTML 网页中酌情处理。

    有个静态网页演示的例子,可到我的 download/code 中寻找:DvBbsDemo

  • 相关阅读:
    ArrayList源码分析_JDK1.8.0_191
    LinkedList源码分析_JDK1.8.0_191
    HashMap源码分析_JDK1.8.0_191
    生产者消费者模型Java实现
    INT整型最小值取负还是本身的问题
    字节跳动面试题
    go sqlx操作数据库问题
    go gin框架调用cmd运行python脚本问题
    Android视频播放不能使用自研播放器
    mac python版本错误问题以及pip版本错误(anacanda)
  • 原文地址:https://www.cnblogs.com/china_x01/p/1907200.html
Copyright © 2020-2023  润新知