欢迎来到天天文库
浏览记录
ID:22369872
大小:69.50 KB
页数:10页
时间:2018-10-28
《asp 3.0高级编程(四)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、ASP3.0高级编程(四)
2、第1lunples”链接,打开另外一个页面,如下图所示:下图所示窗口显示的是ServerVariables集合中一些非常有用的值的一个子集。“自引用”页面在ServerVariables集合中返回的值包含ETHOD=”POST”>同样的效果可以用HTTP的“SCRIPT_NAME”值获得:”METHOD=”POST”>使用元素打开一个不同页,可以使用:......”>NextPage...即使原始页面的名称或位置发生变化,这些实例都能正常工作,因为使用了当前页面的路径信息(当然,第
3、二个例子在分离的目标页的名称发生变化时运行会失败)。换句话说,如果为搜索引擎的子会话自动建立URL,可以收集ServerVariable的一些值:strFullURL=”EndSelect或者根据特定的方言,重定向页面:strLocale=Lcase(Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”))SelectCasestrLocaleCase“en-gb”:Response.Redirect”Case“es-pe”:Response.Redirect”EndSelect其他有用
4、的ServerVariables集合的值可以访问和使用ServerVariables集合中的任何一成员,控制ASP页面响应一个请求的方式。可以检查一个浏览者访问站点时使用的是否是缺省端口80或还是另一个。在这个例子里,寻找通过端口443的访问——这个端口提供的是安全套接字层(SecureSocketLayer,SSI)访问(和其他的协议),且将它们重定向到一个相应的页面。IfRequest.ServerVariables(“SERVER_PORT”)=“443”)ThenResponse.Redirect“/securesit
5、e/default.asp”‘SecureuserElseResponse.Redirect“/normalsite/default.asp”‘Non-secureuserEndIf假如要求浏览者注册且由服务器验证(而不是允许他们在L),或另一个源文件(例如一个ZIP文件或文本文件)。这对用户来说是透明的,实际上是浏览器做这个工作。当使用Response.Redirect方法来载入一个新的网页时,实际上是发送回一个特殊的HTTP报头到客户。此报头为:HTTP/1.1302ObjectMovedLocation/neecondi
6、tiontoselecttheappropriatepage:IfRequest.ServerVariables(“SERVER_PORT”)=1856ThenStrNee=“”ThenResponse.Clear......Codetocreateanep;_“Response.Flush”ForintChar=1ToLen(strText)Forintid(strText,intChar,1)Response.FlushNext2)Response.IsClientConnected属性IsClientConnected属
7、性在ASP2.0中已经存在了,但却有些不可靠。在其返回一个准确的结果之前必须发送一些输出到客户。这一问题在ASP3.0中已被解决。现在这一属性可被自由使用。IsClientConnected是观察用户是否仍连到服务器和正在载入ASP创建的网页的有用方式。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为缓冲区内容将被IIS丢弃。所以,对那些需要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查浏览器是否已离线:......Codetocreatefirstpartofthepage...IfResp
8、onse.IsClientConnectedThenResponse.FlushElseResponse.EndEndIf......Codetocreatenextpartofpage...1.操作HTTP报头我们已经在几处见到ASP如何创建或修改在响应页面请示时被发送到客户的HTTP报头。在Response对象中有几个属性和方法可帮助我们做到一点。下面是一些报头方法:·控制缓存和有效期。·创建状态和定制的HTTP报头。·指定MIME类型或内容类型。·添加PICS标签。接下来将简要地研究每一个方面。可在“ResponseOb
9、ject”主页(sho.asp),可以通过自己的代理服务器在网络上做试验,来检查这一属性的影响。可以通过在“ResponseObject”主页中单击“Response.CacheControl”链接来显示这个网页。如下图所示:这一页面提交到expiretest_result.
此文档下载收益归作者所有