|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。asp3|把持
跟着PHP4.0和JSP手艺的推出和IIS中不休呈现的严重的平安成绩,MicroSoft的ASP的市场似乎是变的局促了,可是MicroSoft是不会轻言保持的,因而在ASP2.0的基本上推出了ASP3.0,增添了一些新的功效:新的流把持才能、DataShaping手艺(请参考:http://www.aspcn.com/showarticle.asp?id=28)、无剧本ASP、更多的组件选择、xml的撑持、剧本组件、ASP剧本代码的加密手艺等等。实在笔者以为没有多年夜的改动、大概我关于ASP3.0懂得的仍是太少了(现实上我以为微软大概保持了ASP,而是把眼光转向了"ASP+",ASP+今朝还处于测试阶段,可是笔者从一些外洋站点的先容来看,嘿嘿,我们的下一个感化于Win平台上的器材大概就是ASP+了,以是ASP3.0才没有多年夜的改动),不外话说返来,关于那些利用Win体系平台的用户,我仍是倡议人人利用ASP,以是鄙人面给人人先容了"ASP3.0中的流把持才能"。
ASP3.0中的流把持手艺实际上是指程序流,说的普通一点就是程序的流程,ASP3.0中有了两种新的流把持办法:"Server.Transfer"和"Server.Execute",我迁就这两种办法中的一种大略的先容给人人,为了详细的显现其功效,我给人人对照了Response.redirect同Server.Transfer的使用!
一样平常会利用response.redirect这条语句举行地点转向,ASP3.0供应了一种新的办法给我们,这类办法加倍高效。让我们先来看看response.redirect和Server.Transfer分离是怎样Run的!
response.redirect实在上是当服务器碰着这条语句时发送一条指令(包括新的地点)给扫瞄器,然后让扫瞄器往发送http哀求,哀求response.redirect前面的谁人新的http地点,流程以下:
扫瞄器ASP文件哀求->服务器实行->碰到response.redirect语句->服务器发送response.redirect前面的地点给客户机真个扫瞄器->扫瞄器哀求实行新的地点(服务器前往的Response.Redirect前面的地点)这就是一个小小的Response.Redirect的全体历程,不看不晓得,一看吓一条!它有这么多的历程,真可怕......,而ASP3.0中的Server.Transfer语句当承受地点后是间接转向前面的地点,流程以下:
扫瞄器ASP文件哀求->服务器实行->碰到Server.Transfer语句->服务器转向新的文件。
如许就少了一个流程了!也延长了服务器->客户机->服务器相互会见的工夫!可是值得提示你注重的一点的是Server.transfer中带的地点最好是html文件或asp文件,不如果第三方加载的器材,好比说PHP,假如那样的话,程序是不克不及一般实行的,由于转向的文件被间接送给ASP的引擎剖析了(唉,微软的器材教人怎样说呢?不晓得这点是没有思索到,仍是微软的霸气),你将得不到了局的!鄙人面的程序中,我们将像你展现这点
让我们看看上面的代码:
(文件:Response.asp:)
<!--代码入手下手-->
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="蒲豪杰">
<METANAME="Keywords"CONTENT="ASP,www.aspcn.com">
<title>Response测试</title>
</head>
<body>
<%Response.Redirect"test.php"%>
</body>
</html>
<!--代码停止-->
test.php文件的代码以下:
<!--代码入手下手-->
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="蒲豪杰">
<METANAME="Keywords"CONTENT="ASP,PHP,www.aspcn.com">
<title>Response测试</title>
</head>
<body>
<?echo"<center>这是一个测试,你好呀!接待你会见我们的网站<ahref=http://www.aspcn.com>www.aspcn.com</a></center>";?>
</body>
</html>
<!--代码停止-->
好了,我们测试一下下面的代码,看到了局了吗?再让我们来看看Server.Transfer的使用语句,代码以下:
Server.asp(实在间接套用Response.asp就能够了):
<!--代码入手下手-->
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="蒲豪杰">
<METANAME="Keywords"CONTENT="ASP,www.aspcn.com">
<title>Response测试</title>
</head>
<body>
<%Server.Transfer"test.php"%><!--注重这条语句-->
</body>
</html>
<!--代码停止-->
实行一下Server.asp!咦,怪了,甚么都没有吗!可是你看看被IE注释后的代码,代码以下(注重万万不要被我上面的利用在html中的正文语句弄懵懂了):
"###################################################(代码入手下手)
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="蒲豪杰">
<METANAME="Keywords"CONTENT="ASP,www.aspcn.com">
<title>Response测试</title>
</head>
<body>
<!--代码入手下手-->
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="蒲豪杰">
<METANAME="Keywords"CONTENT="ASP,www.aspcn.com">
<title>Response测试</title>
</head>
<body>
<?echo"<center>这是一个测试,你好呀!接待你会见我们的网站<ahref=http://www.aspcn.com>www.aspcn.com</a></center>";?><!--注重这条PHP语句被看到了-->
</body>
</html>
<!--代码停止--><!--注重这条语句-->
</body>
</html>
"###################################################(代码停止)
test.php文件被看成一个文本文件include出去了,可是假如我们把本来的Server.asp文件中的Server.Transfer"test.php"换成Server.Transfer"Response.asp"在Try一下(如许做,实际上是让你懂得ASP的引擎关于Server.Transfer的详细的剖析情形),看看了局?是否是同我们间接运转Response.asp的了局一样???
我不晓得,你如今关于Server.Transfer的用法懵懂没有?我都有一点懵懂了!可是不要忘了我写这篇器材的关头:Server.Transfer比Response.Redirect好,由于前者少了一个流程,加速了速率的,勤俭了工夫,后者我就不说了,只是提示你一点的就是Server.Transfer究竟该用在甚么前提下(后面很分明了,我未几说了,再说我也就懵懂了,你多Try几下就分明了)
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 |
|