问题描述
- 网首页静态化-提高访问效率
-
请教大家有经验的,比如一个视频网站首页,轮播图和视频可能回1小时更新,视频播放数,点赞数要求实时更新,
这样的首页是不是不适合做静态化啊,如果可以如何做,如何访问效率,不知道大家有什么建议,比如美拍的官网,是静态化的吗,看起来访问速度很快
,请有经验的前辈谈一谈,如何合计。
解决方案
静态化的本质就是缓存,而且是把磁盘当作缓存,这是一种低级原始低效的做法。
事实上现在有无数的缓存框架,缓存框架都是将内存作为缓存,而且有很好的处理脏数据的策略。所以完全不要再用所谓的静态化了。
解决方案二:
比如一个视频网站首页,轮播图和视频可能回1小时更新,视频播放数,点赞数要求实时更新,
这样的首页是不是不适合做静态化啊
不适合做完全静态,建议部分静态,不发生变化的做成静态,发生变化的用动态
解决方案三:
所谓静态,就是将动态网页生成一个.html的网页,每过一定的时间,比如5分钟更新一次这个网页的内容,非html后缀的网页一般都不是静态网页,静态网页的更新只能是服务器的网站程序隔段时间重写一次这个网页的内容,主要优点是减轻服务器负担,加快网页访问速度,也有说有利于SEO的,单这一点不能苟同,因为,搜索引擎之所以加强静态网页的权重,很重要的原因就是看重静态的网页内容的稳定性
解决方案四:
静态网页有两种,一种是真静态,就是把网页真的生成一个存储在服务器上的.html文件,一种是伪静态,就是不生成文件,只在缓存中生成一个页面内容,然后当访问时将网页后缀设为.html
你的这种情况可以使用伪静态
解决方案五:
动态变静态
方法一:使用现成的插件,比如:ISAPI_Rewrite、IIS Rewrite、Apache HTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。它们的使用方法查看它们自带的帮助即可。
方法二:自己写的代码实现动态网页静态化,方法也有好几种:
1、创建FSO对象,利用此对象将所需的内容动态创建到文件中生成HTML页面;
2、利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值 生成HTML文件;
3、使用Server.Transfer转换技术,
方法三:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面。一般这样只需要获取网页内容即可,其它资源可放置在服务器上,自动加载。(注:此方法缺点明显,需要大量更改匹配URL,建议慎用)
方法四:在asp中有IhttpModule接口。Ihttpmodule可以简单理解为一个可以在执行像.aspx,或者mvc中control/action前,添加我们自定义的操作的东西。
我们只需要编写这么一个HttpModule就可以了,当用户第一次请求asp处理时,我们可以在ihttpmodule中拦截到这个请求,然后获取到这次请求应该返回的html代码,然后我们返回这些html给用户,并保存刚才我们获取到的html到文件内,当用户下次请求时,我们只需要直接返回我们已经保存的html文件即可。
解决方案六:
关于大型网站技术演进的思考(十)--网站静态化处理—动静整合方案(2)