我们在上网时,不可避免的要用到各种各样的网址,这些网址有一个共同特点,那就是有各种后缀,如.
html、.
aspx、.
php等.
这些后缀都是什么意思呢,.
html、.
htm、.
shtml这些一般情况下都是静态页面,而.
aspx、.
php等一般都是动态页面.
然而后缀为.
html、.
htm这些,但是页面为动态页面的情况是什么呢下面我们将做介绍.
摘要:介绍位静态的概念,通过Http的请求过程详细阐述了伪静态的实现原理,并使用Httpmoudule、URLRewriter.
dll、Global.
asax.
cs实现了对url的重写.
关键词:伪静态,Httpmoudule,UrlRewriter,Global.
asax.
cs1伪静态的概念及实现原理在介绍伪静态之前,我们先简单了解下静态页面和动态页面.
静态页面是存在与服务器之上,无需经过服务器编译,直接加载到用户浏览器上显示出来,通常具有.
htm、.
html后缀.
动态页面是以ASP、JSP、C#等编程语言制作的页面,在服务器上实际上不存在此页面,当客户端向服务器发出请求时,动态页根据预先制定好的模板,通过加载数据库中的对应数据,形成对应的页面,发送给客户端,动态页面通常具有.
aspx、.
php等后缀,且网址较长,带有符号.
伪静态,用简单的话说就是伪装成静态页面的动态页.
那么动态的页面为什么要伪装成静态页面呢.
伪装成静态页面可以有以下好处:网址剪短,易于输入,可以隐藏一些不必让用户看到的东西,易于记忆,利于搜索引擎的抓取.
那么伪静态是怎么实现的呢在说明这个问题之前需要先了解http的请求过程.
一次需要客户端和服务器段建立连接,客户端在发出请求信息,服务器端回送相应信息,关闭连接.
如图1.
那服务器端是怎么处理这个请求的呢当服务器接受到请求时,web服务器将请求会交给iis处理,如果请求的是.
htm后缀的静态页面,iis直接将服务器端数据发送给客户端,关闭连接,请求结束,当请求的后缀是.
aspx时,这时iis无法处理这个请求,就会将这个请求交给aspnet_isapi.
dll来处理,由aspnet_isapi.
dll处理后生成的静态.
html内容返回给iis,在由iis发送给客户端.
在ASP.
NET之前,需要使用ISAPI筛选器来实现IISWeb服务器上的URL重写.
由于ASP.
NET引擎与IIS非常相似,因此可以使用ASP.
NET进行URL重写.
下图描述了如何处理对ASP.
NET资源的请求.
首先,IIS接收到请求,并将请求调度给aspnet_isapi.
dll.
接下来,ASP.
NET引擎对已配置的HTTP模块进行初始化.
最后将调用正确的HTTP处理程序,并呈现被请求的资源,将所生成的标记返回给IIS和请求客户端.
与IIS一样,ASP.
NET引擎在请求的有效期内将会触发事件,通过发信号来表示其处理过程从一个状态改变为了另一个状态,如:BeginRequest事件在ASP.
NET开始响应客户端请求之始引发;AuthenticateRequest事件在ASP.
NET确立用户身份后引发,当然还有诸如AuthorizeRequest,ResolveRequestCache和EndRequest等其它很多事件.
每次http请求都得经过这里的处理,这样,我们就可以再这里通过对请求的url的重写,来实现伪静态.
2通过url重写实现伪静态的几种方法.
2.
1用httpmoudule来实现网址重写:2.
2通过微软提供的URLRewriter.
dll来实现网址重写:1)将URLRewriter.
dll文件放在网站的bin目录中2)修改web.
config文件如下:在节点下添加:2.
3在Global.
asax.
cs中实现网址重写如果使用的是VS2005以上版本是没有Global.
asax.
cs这个文件的,需要添加Global.
asax文件,在这个文件中手动添加Application_BeginRequest()方法,代码相同.
1/2到此,我们介绍了利用httpModule、URLRewriter.
dll、Global.
asax.
cs中的Appliction_BeginRequest()方法实现对URL的重写,从而实现伪静态,而在实现的过程中完全可以利用正则表达式的便利性来达到使用自己需要的各种格式的URL,以达到期望的效果.
最后在说明下,虽然伪静态有很多好处,但是利用伪静态的同时,会给服务器造成额外的压力,在实际项目中,需要我们综合考虑各种因素,合理配置各种资源,是网站拥有合理的性能,以达到最好的用户体验.
参考文献:[1]叶树华.
HTTP协议与ASP之间的关系研究[J].
华北工学院学报,2002,23(6):444-448.
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...
DogYun(中文名称狗云)新上了一批韩国自动化上架独立服务器,使用月减200元优惠码后仅需每月300元,双E5 CPU,SSD+NVMe高性能硬盘,支持安装Linux或者Windows操作系统,下单自动化上架。这是一家成立于2019年的国人主机商,提供VPS和独立服务器租用等产品,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等。下面分享这款自动化上架韩国独立服务器的配置和优惠码信息。...
iWebFusion(iWFHosting)在部落分享过很多次了,这是成立于2001年的老牌国外主机商H4Y旗下站点,提供的产品包括虚拟主机、VPS和独立服务器租用等等,其中VPS主机基于KVM架构,数据中心可选美国洛杉矶、北卡、本德、蒙蒂塞洛等。商家独立服务器可选5个不同机房,最低每月57美元起,而大流量10Gbps带宽服务器也仅149美元起。首先我们分享几款常规服务器配置信息,以下机器可选择5...