网站html静态化解决方案.docx
- 文档编号:27688905
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:12
- 大小:21.93KB
网站html静态化解决方案.docx
《网站html静态化解决方案.docx》由会员分享,可在线阅读,更多相关《网站html静态化解决方案.docx(12页珍藏版)》请在冰豆网上搜索。
网站html静态化解决方案
网站html静态化解决方案
篇一:
关于网页是否要静态化HTML的问题
关于网页是否要静态化HTML的问题
很多人提倡在网站设计时将页面静态化,难道页面静态化就没有什么缺点吗?
有人问关于网页静态化的问题:
很多人提倡在网站设计时将页面静态化,难道页面静态化就没有什么缺点吗?
专家回答如下:
虽然页面静态化在一定程度上提高了页面访问速度和有利于搜索引擎优化以外,其实静态化带来的问题和后续成本也是不容忽视的:
1、由于生成的文件数量较多,存储需要考虑文件、文件夹的数量问题和磁盘空间容量的问题,导致需要大量的服务器设备;2、程序将频繁地读写站点中较大区域内容,导致硬件损耗大、站点备份麻烦;3、页面维护的复杂性和大工作量,增加了更新维护难度和网站管理人员工作强度。
楼上说的有道理,不是每个网站都耗得起这个成本,如果你们公司的开发人员实力和时间都允许,那么可以实施你们的网站静态化,否则不提倡。
页面静态化有利用于蜘蛛的抓取,可以增加网页的权重.楼上的楼上,不用担心,网页的静态化不会增加多少磁盘容量,一个网页也就是几十K,现在硬盘很便宜.页面的维护不会有问题,网站后台还是采用动态的数据库管理,前台显示页面,可以生成静态的html
篇二:
WEB网站架构分析HTML静态化
HTML静态化
1介绍
其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。
但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。
除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。
同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。
提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等,本文主要介绍Java高并发:
HTML静态页化。
什么是静态页面
静态页面是独立的html、htm后缀文件,不需要经过服务器的编译,可以直接加载到客户浏览器上显示出来。
为什么要将网站修改为静态页面
1)加快页面打开浏览速度,不用调用数据库,访问速度比一般动态网站快5-10倍。
2)有利于搜索引擎优化SEO,XX谷歌等搜索引擎都会优先收录静态页面。
不仅被收录的快还收录的全。
并且在排名中静态页面的排名权重要高于动态路径的页面。
3)网站更安全,静态页面从理论上讲是完全没有漏洞的。
数据库出错时,不影响网站正常访问。
4)缺点:
无法即时更新,每次更新内容都需要生成静态页面。
静态化需要考虑三个方面的事情
1,对SEO,能够让搜索引擎更方便的进行采集和分类,提升其速度和准确性。
2,对用户,不能影响版面的展示,不能为了速度影响了美观和可用性。
3,对维护,一些内容可以方便的更换,比如菜单调整,连接调整,广告位的调整等。
2Java实现html静态化方案
java页面静态化解释:
简单的说,我们如果访问一个链接,服务器对应的模块会处理这个请求,转到对应的jsp界面,最后生成我们想要看到的数据。
这其中的缺点是显而易见的:
因为每次请求服务器都会进行处理,如果有太多的高并发请求,那么就会加重应用服务器的压力,弄不好就把服务器搞down掉了。
那么如何去避免呢?
如果我们把对请求后的结果保存成一个html文件,然后每次用户都去访问,这样应用服务器的压力不就减少了?
那么静态页面从哪里来呢?
总不能让我们每个页面都手动处理吧?
这里就牵涉到我们要讲解的内容了,静态页面生成方案?
我们需要的是自动的生成静态页面,当用户访问,会自动生成,然后显示给用户。
页面静态化方案应该掌握的知识点
1、基于-URLRewrite
伪静态URL重写实际就是以静态地址(如:
http:
//:
8080/pro/)访问地态网页的方法(如:
http:
//:
8080/pro/)。
伪静态URL重写是通过微软公司封装好了的一个URL重写组件()来实现的,导入JAR包,在WEB服务中加载伪静态地址拦截器,客户端以静态地址向服务器发起请求,服务器端的拦截器拦截客户端请求,查找XML配置文件,把静态的URL地址转换成动态地址,发起请求。
2、基于Servlet
Struts或servlet接收请求,如,对请求的url进行处理,判断是否生成静态html页面。
其中,对于URLRewriter的部分,可以使用收费或者开源的工具来实现,如果url不是特别的复杂,可以考虑在servlet中实现,那么就是下面这个样子:
JSP生成静态HTML页面最普遍的三种方法Jsp静态化解释:
对于现在的WebApplication来说,动态页面是占有绝对高的地位的,正因为有了动态化,才有了现在Web的丰富多彩,但是如同所有别的事实一样,好处往往都是有代价的。
为了产生出动态的效果,每一次对页面的请求都会要求服务器对页面进行编译或
者执行,这些操作都很消耗系统资源。
如果这期间还有和数据库的通讯,那么代价将会更大。
如果一个页面在一定的时间内,其内容没有发生改变,那么就不必为每一次对它的访问进行一次“新”的编译或执行。
我们可以把它在这段没有发生改变的时间内的结果保存到一个静态的页面里面,然后每次访问这个页面时,就用刚才保存的静态页面进行回复。
这样便能大大地减少系统资源的消耗,并且提高对客户的响应速度。
而这个过程就称之为页面静态化。
现在所面临的问题就是如何在JSP中将页面的内容保存下来。
在访问JSP页面的时候,服务器会先将JSP文件编译为Servlet文件,然后对这个Servlet编译、执行,并最终把结果返回给客户端。
而我们的任务就是要把这个最终生成的HTML静态页面保留下来,存放在服务器上。
解决的方法其实很简单。
普通的对于JSP的访问,最终的数据流是回写到客户端的,如果我们把它重定向,让它回写到服务器上一个本地的文件,这样就能把JSP的执行结果保存起来,而这个文件就是我们想要得到的静态化的结果。
从数据库中取相应数据并替换掉模板中的对应标签。
try{
Stringtitle="ThisisTitle";
Stringcontent="ThisisContentArea";
Stringediter="LaoMao";
StringfilePath="";
filePath=("/")+"test/";
StringtemplateContent="";
FileInputStreamfileinputstream=newFileInputStream(filePath);//读取模块文件
intlenght=();
bytebytes[]=newbyte[lenght];
fileinput(转载于:
小龙文档网:
网站html静态化解决方案)(bytes);
();
templateContent=newString(bytes);
//(templateContent);
templateContent=("###title###",title);
templateContent=("###content###",content);
templateContent=("###author###",editer);//替换掉模块中相应的地方
//(templateContent);
//根据时间得文件名
Calendarcalendar=();
Stringfileame=(())+".html";
fileame=("/")+fileame;//生成的html文件保存路径
FileOutputStreamfileoutputstream=newFileOutputStream(fileame);//建立文件输出流bytetag_bytes[]=();
(tag_bytes);
();
}
catch(Exceptione){
(());
}
%>
2.
###title###
###title###
篇三:
网页静态化处理办法
ASP彻底实现伪静态化html
这段时间在网上待的时间较多!
为了查找关于实现ASP动态内容的静态化处理花了我的多少时间,到处看了下,大多数是转载而来,几乎雷同,主要有以下几种方法:
1>用程序写到硬盘.ASPFS对象的文件流处理.每个文章都有实际的路径.如果要发布大量内容,则需要大容量空间,而且不好维护,修改都不方便,好处在于减轻服务器的访问负担,容易被搜索引擎收录,大大减少并防止黑客攻击,稍有规模的网站都全部静态化了,如新浪,搜狐等.
2>组件如ISAPI_Rewrite重写.有自己服务器的站长还好办,虚拟主机的朋友就稍麻烦,除非请求服务商安装这个插件,再将程序参数提交服务器实现转化,看上去是静态化了,实际上是用静态路径访问数据库的内容.对于搜索引擎收入有一定作用.而且许多站长正是为此为苦苦寻找.
以上两种方法俱体怎么做,大家上网搜索一下就会发现一大把....
3>第三种比较假就是把?
id=26转成?
/这样做也许对搜索引擎来说有点作用,不过防安全注入一点作用也没有.但只要做好防范工作,这种方法还是比较适合大多数虚拟主机的站长们.我这里就重点介绍使用第三种方法来实现静态化处理.
本实例实现效果:
p> ?
/
一准备工作
在网站目录新建文件夹news,并新建一个主页文件,数据库(字段id,Title,Content,)及
二代码实现
数据连接文件
dimconn
dbpath=""
Setconn=("")
connstr="Provider=;DataSource="&(dbpath)
connstr
IfErrThen
Setconn=Nothing
"数据库连接出错,请稍候访问。
"
EndIf
'新闻阅读模块
DimNews_title,News_content
SubReadNews()
setrs1=("")
sql1="selectid,title,contentfromarticlewhereid="&ID
sql1,conn,3,3
News_title=rs1("title")
News_content=rs1("content")
setrs1=Nothing
EndSub
%>
Setrs=("")
sql="select*fromArticle"
sql,conn,1,1
dowhilenot
%>
.html">_fcksavedurl=""news/?
/.html">" loop
setrs=Nothing
%>
好了,现在编写新闻正文阅读页面news/
id=("id")
Ifid=""Then
Pater=("query_string")
id=Int(replace(replace(Pater,"/",""),".html",""))'replace替换函数,如将html和/替成空的EndIf
CallReadNews()
%>
'主题
'正文
这样实现的效果如:
/article/XX0107/
简单宜用的网站静态化思路及代码分析
静态化是有很大好处的。
最值得称道的应该是加快下载速度,更利于搜索引擎的抓取,这两点对一个企业网站来说应该比较重要吧。
一般的静态化是通过fso组件读取网站模板的内容,然后替换其中的特定字符,生成静态页面,这是个不错的想法,如果你要自己写一个网站,建议你用这种办法,因为比较稳定。
而且如果想以后更换网站界面也相当容易,只需修改模板而无需更改程序。
这个办法很多高手已经说得很明白了,推荐一个:
的首页为例,介绍一下这种方法,代码如下:
Url="/"‘定义动态首页
wstr=GetPage(Url)‘把动态首页的内容全部读取出来
Setfs=("")
SetCrFi=(("../")&"\")‘创建静态首页(wstr)‘将读取出的内容写入静态页面
setCrFi=nothing‘关闭两个对象
setfs=nothing
以下两个函数涉及到xmlhttp对象和方法的使用,如果能看懂就看,看不懂直接调用就行。
FunctionGetPage(url)‘此过程的功能是实现把asp网页的内容一次性读取出来。
dimRetrieval
SetRetrieval=CreateObject("")
WithRetrieval
.Open"Get",url,False',"",""
.Send
GetPage=BytesToBstr(.ResponseBody)
EndWith
SetRetrieval=Nothing
EndFunction
FunctionBytesToBstr(body)‘字符转换
dimobjstream
setobjstream=("")
=1
=3
body
=0
=2
="utf-8"‘如果是中文页面请用gb2312.,英文页面用utf-8
BytesToBstr=
setobjstream=nothing
EndFunction
首页的静态化就完成了,生成为这个静态页,其他的页面也可以按照这个思路进行,利用不同的后缀id值,就可以批量生成所有网页。
两点注意:
1、如果是批量生成页面要保证网速,否则程序的运行很容易超出服务器的允许时间。
2、生成英文页面的时候,要保证原页面上没有汉字或其他语言,否则生成出错。
这种静态化相对比较容易,尤其是那些对那些写的很差劲的网站进行静态化处理。
我一直用这种方法给企业静态化处理。
有机会我会把这种方法进一步写成类,方便各位网友调用。
下边说说两种骗人的静态化方案,引起各位注意。
1、框架伪静态,这种是非常简单而且也是非常便于识别的,它的原理比较简单,就是做一个静态的
主框架页面,然后把动态的内容链入副框架内,这个单从它的URL就可以看出眉目,如果整个网站的URL都是一样的,那么就一定是框架伪静态的。
这种所谓的静态化不仅达不到优化的目的,而且还不如不优化。
2、利用组件把asp的辍显示为htm,它主要是利用一个组件强制性的把asp文件的后辍显示为htm,
比较有名的组件是MODREWRITE,这种东西只是在形式上让你感觉已经静态化了,其实仍然是执行动态网页。
识别这个也比较容易,那就是看看有没有生成静态页就是了。
如果没有生成静态页,显然是骗人的,因为只有动态页才是虚拟的,从数据库中调用数据进行显示,而静态页面一定是独立的。
当然,利用这种方案可以起到seo优化作用,但是对访问速度来说,是一点提高都没有的,而且还有可能降低访问速度。
网站静态化rewriteapacheseo
大家一说起网站的高性能,第一时间想到的就是使访问者访问的是静态页面,因为大家都知道访问静态页面的开销比动态的要小得多,而且高效得多。
这也是前几年seo专家们普遍优化网站的重点之一。
但是对于目前网络上内容变化频繁的大型网站而言(如淘宝),使用静态页面访问虽然很好。
但是细细想一下,以淘宝这样的规模,其静态化网站的页面至少有几十万,甚至上百万。
这样维护一个如此大规模的静态文件,其难度程度可想而知了,最重要的是其页面内容是经常更新的,如我们一个宝贝的页面,要显示店主的在线状态、用户的购买情况等等,这些都是可能随时更新的,因此对于这样的网站实行静态化,个人感觉无疑于“自杀”!
话可能说的有点过了,呵呵,网站静态化对于小型网站,页面内容更新不需要很频繁的网站无疑是优化网站性能的一个很重要的方面,而且网站静态化对于SEO也是非常有帮助的,虽然目前的搜索引擎也支持动态生成的内容,但似乎更青睐静态页面,包括伪静态页面。
以前在开发系统时,也有一个门户的部分,当时考虑到系统的性能问题也使用静态化页面,但并不是传统的html页面,而是xml+xsl文件的组合,这样改变xsl文件后整个网站也就随之改变了,达到了内容与显示的分离,同时也实现了静态化。
当然了,那个门户基本上都是新闻发布之类的,对于其内容的更新不是非常多,所以这样处理就很方便和实用了。
刚刚也说到了使用伪静态化似乎是大型网站的更好的选择,因为不需要维护大量的静态文件。
我们可以看到对于淘宝、163、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网站 html 静态 化解 方案