build vue 静态化-ag凯发k8国际
页面静态化和静态缓存
静态缓存:还需要请求php一些简单的判断,只是一些复杂的逻辑结构不需要再进行php处理。如在缓存数据库中的数据,这样就不用每次都请求数据库。典型的例子就是smarty中有页面静态缓存。
静态化:静态化相对于页面静态缓存更进了一步,使用静态化,就不需要使用php处理任何业务。每次请求的页面就是一个html页面。所以在优化的层面上,已经达到了顶层。如dedecms中使用生成ag凯发k8国际首页。下次访问的时候,只是访问index.html。没有任何的php逻辑处理。
使用ob缓存制作页面静态化:
ob缓存使用:
在php解释执行中,在返回到服务器(apache/nginx)时,在这个php中,有一个输出缓冲区和一个程序缓冲区。要返回的内容都被缓冲到这。
输出缓冲:要输出的内容缓冲到这
程序缓冲:是在输出缓冲的下一个阶段,如果输出缓冲被关闭,内容将缓冲在这。
输出缓冲:
开启缓冲:ob_start('这里可以有一个回调函数,也就是前置钩子函数');这样接下来的内容都会被缓冲到输出缓冲中。注意:这里缓冲的内容只能是http主体内容。如:头信息是不能被缓冲到输出缓冲区的header('');
刷新缓冲:ob_flush()如果程序在开启缓冲区时,中间没有刷新缓冲区,则在脚本运行结束之后会自动刷新缓冲区。
还有很多的ob_系列的函数,可以参见手册。
注意:在一个页面中可以开启多个输出缓冲区,可以使用ob_get_level()函数,查看当前处于哪个输出缓冲区中。开启的多个输出缓冲是相互嵌套的就像if()语句嵌套一样。关闭时也是关闭相对应的输出缓冲。
程序缓冲:
程序缓冲就一个函数flush()来刷新程序缓冲区。不能做任何其他的操作。
弄清了这缓冲区的作用,我们可以让每次在程序中得到的数据立马刷新到浏览器中。这样就可以做聊天系统。
ob_end_clean();//关闭缓冲区
while(true){
.....
flush();//刷新程序缓冲区,因为程序缓冲区不能做任何的操作,只有刷新。这样我们将得到的内容立马个刷新到浏览器中展现出来
}
注意:有的浏览器需要到达一定的字节数量才能显示在浏览器中。我们可以使用一个技巧str_repeat(' ',1024);在while()之前输出,这样内容就多了。
我们可以通过输出缓冲将内容写到相应的html文件中,这样就可以做页面静态化。使用程序控制,下次请求的时候就直接请求html。
使用静态化注意的问题:
css/js/img路径可能不对,所以在做程序的时候,这些路径最好是生成根路径/
可能有的地方的数据需要是最新的。如用户评论,在解决这个问题我们可以使用ajax技术来弥补这个缺憾,做到部分数据实时性。
总结
以上是ag凯发k8国际为你收集整理的build vue 静态化_页面静态化的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 里如何调整字体间距_ai如何填充图案?a
- 下一篇: 快到年底离职怎么说原因 找个好借口辞职更