什么是伪静态?伪静态有何作用

什么是伪静态?伪静态有何作用,第1张

一、什么是伪静态,伪静态有何作用

伪静态即是网站本身是动态网页如。asp、。php、。aspx等格式动态网页有时这类动态网页还跟“?”加参数来读取数据库内不同资料。很典型的案例即是discuz论坛系统,后台就有一个设置伪静态功能,开启伪静态后,动态网页即被转换重写成静态网页类型页面,通过浏览器访问地址和真的静态页面没区别。前提服务器支持伪静态重写URL Rewrite功能。

 二、需要伪静态功能地方

考虑搜索引擎优化SEO,将动态网页通过服务器处理成静态页面,常见的论坛帖子页面,都是经过伪静态处理成静态页面格式html页面。

考虑网站所用的程序语言不易被发现,经过重写来伪静态来将动态网页的程序后缀变为html的静态页面格式。

三、伪静态的利与弊

当然犹如一篇文章的作者所说的:"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂,我的IIS数是1000。”

确实是这样的,由于伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病。

我们应该选择伪静态还是真静态?

1、使用真静态和假静态对SEO来说没有什么区别

2、使用真静态可能将导致硬盘损坏并将影响论坛性能

3、使用伪静态将占用一定量的CPU占有率,大量使用将导致CPU超负荷

4、最重要的一点,我们要静态是为了SEO

所以:

1、使用真静态的方法可以直接排除了,因为无论怎么生成,对硬盘来说都是很伤的。

2、既然真伪静态的效果一样,我们就可以选择伪静态了。

3、但是伪静态大量使用会造成CPU超负荷。

4、所以我们只要不大量使用就可以了。

5、既然静态只是给SEO看的,我们只需要伪静态给SEO就行了,不需要给用户使用。

6、所以我们只要在专门提供给SEO爬的Archiver中使用伪静态就可以了。

7、谢谢大家耐心看我写的文章。

8、有何不解的地方或是有不同的看法欢迎提出。

四、关于伪静态和真静态的评论

真正的静态化和伪静态还是有本质的区别的。为浏览用户处理一个纯粹htm和一个调用多个数据的asp在CPU的使用率方面明显前者少。记得原来有个人说html下载硬盘读写频繁,他这么说好像读取数据库不用读写磁盘似的,何况还有一大堆缓存的零散asp也是放在硬盘的,这些读取不用磁盘 *** 作么?可笑。

读取单个htm+图片Flash等附件就可以实现的目的,何苦要读数据库又要读asp缓存文件又要重新整合数据输出再+图片Flash等附件这么大费周章呢?CMS首页不需要很多的互动的,论坛那一套不应该拿到这里来用,相反应该更多考虑的是:美观!兼容!信息的直观!性能!还有稳定!

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。

1.从URL结构以及页面名称看,伪静态和静态页面是一样的。伪静态的页面后缀可以是html htm 或者是目录格式

2.伪静态只是改变了URL的表现形式,实际上还是动态页面

3.静态页面可以节省服务器资源,而伪静态严格说是增加服务器资源消耗的

总结,在SEO方面,伪静态和静态页面的功能是相同的,但是伪静态本质上还是动态页面,所以消耗资源是和动态页面一样的,而且因为Rewrite服务器还需要消耗额外的资源。

当然了,说道伪静态,我们就要来说一下不同的服务器程序支持的伪静态也是不同的。并且,不同的建站程序使用的伪静态代码也是不一样的。

下面我们就以著名的建站程序Discuz为例,来说一下。

假如我们在后台开启了伪静态。

这时我们就可以打开右上角的“查看当前的 Rewrite 规则”来查看伪静态规则,然后在打开的页面你选择自己服务器对应的规则就可以啦。

我在这列举两个典型的:

IIS7及以上

2.Apache

3.Nginx

这些都是比较常见的主机。

这些只是我说的也只是皮毛。具体你还是要翻阅相关资料去了解。Discuz是提供规则了的,还有很多程序没有提供,就需要自己去写,去尝试啦。

1,文件存档,静态化页面存在服务器,伪静态化调用数据库虚拟生成的(实际还是动态)

2,性能优势,在用户访问量大的时候,静态页面比伪静态更具优势。

3,安全性能,基本上差不多都是静态化状态

4,实际适用,伪静态比静态化更灵活,部分没法静态化的,都可以伪静态化。

静态网页就是,比如网站上放了一个neiyi.html文件,你想访问它就直接输入chaodiquan. com/neiyi.html。Web服务器看到这样的地址就直接找到这个文件输出给客户端。

动态网页就是,假如你想做一个显示当前时间的页面,那么就可以写个PHP文件,然后访问chaodiquan. com/neiyi.php。Web服务器看到这样的地址,找到neiyi.php这个文件,会交给PHP执行后返回给客户端。而动态网页往往要输入参数,所以地址就变成chaodiquan. com/neyi.php?a=1&b=2。因为参数可以随便加,而返回内容却不变

于是有了mod_rewrite,它可以重新映射地址。比如当前这个页面的地址question/20153311,Web服务器收到请求后会重新映射为question.php?n=20153311,然后再执行那个PHP程序。(以上网址均为假设)这样,在内部不改变的情况下,对外呈现出来的网址变成了没有问号的象静态网页的网址一样。

于是有人给起了个名字叫“伪静态”。其实也没什么伪的,就是没有问号的静态网址,希望可以帮助到你的哈


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9419361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存