伪静态技术

伪静态是大多数网站广泛使用的技术,有利于网站的安全性和符合搜索引擎的友好性。

一、什么是静态技术?

 

所谓静态的意思,就是地址中不带问号。

 

二、为什么要用伪静态技术?

 

Web应用程序最大的特点之一就是无状态,当一个页面跳转到另一个页面时,那么这个页面上的所有参数都将抛弃,所以动态页面一般利用url地址来保存其参数,就像:

www.attjs.net/essay.asp?id=1 这样,搜索引擎在录取该页面时,可能会因为问号而进入死循环(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的地址是不会进去的,这样便降低了页面的收录效率。

既然这样,那么选用不带问号的url不是可以更好的让搜索引擎收录自己的网页?的确。静态网页的url正好不带问号,所以我们要伪造静态,目的就是为了SEO,提高网站的收录效率。

 

 

三、实现静态的三种方法

 

 

1、重写url参数

 

 

参数过多,也不利于搜索引擎收录,故可以通过修改参数实现静态。

先看动态的url地址,当我们点击它时,页面跳转到essay.asp页面的同时,还传递给页面一个参数id=1,然后我们取得了id的值,再由"select * from article where id="& ID 找到对应的记录。由此可知,整个过程的关键是取得参数的值,所以,也可以在静态的url包含该参数的值。

又要包含参数的值,又要考虑静态,于是得出一个解决方案,即要实现这样的转换:

www.attjs.net/essay.asp?id=1

www.attjs.net/essay.asp?/1.html

比较两个url的格式,我们仅仅改变动态地址的参数,这种方式叫作重写url参数法。

不过它也存在表面和内在的缺陷。例如,它仍然存在.asp的记号,更重要的是它并没有去掉问号。

2、 ISAPI_Rewrite程序

 

ISAPI_Rewrite是一个强大的基于正则表达式的url处理引擎。它是专为IIS设计的。ISAPI_Rewrite有两个版本:ISAPI_Rewrite Full与ISAPI_Rewrite Lite。ISAPI_Rewrite Lite是免费版本,但不支持反向代理功能。ISAPI_Rewrite Full只能下载到30天的试用版本。用ISAPI_Rewrite实现asp的静态化,将动态网页链接rewriting成静态链接是最保险和稳定的面向搜索引擎优化方式。但这种方式不支持虚拟站点。而且对于虚拟主机的站长不太实用或太麻烦。

3、 XMLHttp组件

 

 

当我们做好一个asp程序后,如果某个页面长期不做修改,那么我们是不是可以考虑将它生成静态页呢。就好象有一个leave.asp页面,若这个页面长期不做修改,那么我们可以利用某种方法将它生成一个leave.htm页面,这种方法就是用XMLHttp组件。

 

 

四、伪静态原理

 

 

1、 重写url参数

 

 

其基本原理和动态url一致,都是截取参数值,只不过url的写法不同罢了。

前台的核心代码:

var id=parseInt(sParam.replace("/","").replace(".html","")); 后台的核心代码:

var sParam=String(Request.ServerVariables("QUERY_STRING"));

var id=parseInt(sParam.replace("/","").replace(".html",""));

2、 ISAPI_Rewrite程序

 

 

通过正则表达式重写url地址实现静态,正则表达式在httpd.ini中编辑。其格式为:

RewriteRule /test-([0-9,a-z]*).html /test.asp/?id=$1 RewriteRule是关键词,必须有的,没为什么。

/test-([0-9,a-z]*).html /:两跟正斜杠里编辑想要的静态地址的正则表达式。

test.asp/?id=$1:动态url的原型

这种方式仍然是在通过修改参数的位置实现静态,但和上面提到的修改参数位置不同的是:它的url中不包含.asp等动态url的特征,而且也没有问号。

3、 XMLHttp组件

 

 

用XMLHttp组件实现的静态是真正的静态,因为它生成了真正的html文件,当页面跳转时,首先访问的是html文件,再访问的是asp文件。

用户点击链接时,首先发送异步请求,返回请求页面的所有内容,包括文本和二进制。然后把这些内容输入到Stream对象里进行保存,从而生成与动态页面同名的html文件,这样就实现了静态。

转自:http://blog.csdn.net/hnlyy55/article/details/6537910

posted @ 2012-09-28 16:32  新的凯斯  阅读(257)  评论(0编辑  收藏  举报