ASP 3.0高级编程(一)

2016-01-29 19:09 5 1 收藏

ASP 3.0高级编程(一),ASP 3.0高级编程(一)

【 tulaoshi.com - ASP 】

  ASP 3.0请求和响应的处理

       这两个对象是ASP所提供的内置对象中最常用的两个。在浏览器(或其他用户代理)和Web服务器之间,请求与响应中发生的信息交流可以通过ASP中的两个内置对象来进行访问和管理,这两个对象称为Request和Response对象。
       在ASP页中所要进行的工作几乎都要访问这两个对象,使用这两个对象的方式将影响页面的效率及可靠性。当然,它们的主要用途是访问用户发回到服务器的值,即从HTML页的<FORM段获得或附在URL后面作为查询字符串,并创建合适的输出返回给用户,且它们可以共享很多相同的因素。例如两个对象都可以使用存储在客户端计算机上的cookie。
       因此,我们把内容分成两个独立的部分(每个对象一部分),并且首先从客户端与服务器这间的信息交流入手,然后再研究每一个对象。
       研究的内容是:
       · 客户端与服务器如何交流以传递Web或其他资源。
       · Request和Response对象的细节,以及它们之间的共同点。
       · 如何通过一个窗体和查询字符串访问相应的值。
       · 如何读入或创建cookie并存放在客户端的计算机上。
       · 服务器的变量是什么?如何访问和修改HTTP报头。
       · 说明其他相关条目的变化,如客户的证书使用。

客户端和服务器的交流
       为节省篇幅,后面的内容中使用“浏览器”(browser)一词。但需要记住的是,能够访问Web页面的应用程序绝不仅只有浏览器,有许多特殊的应用程序从站点上下载网页,如为那些视力有缺陷用户设计的特殊的客户端程序或者是用通常的浏览器有其他困难的人。最显而易见的例子是搜索引擎用来访问Web上的站点的 robot。全面考虑这些因素,包括普通的Web浏览器,准确的词汇应该是用户代理(user agent)。

页面请求的对话
       当一个浏览器向Web站点提出页面请求时,显然必须告诉服务器,其请求的是哪一个页面。首先要做的是通过域名与服务器建立连接,然后提供所请求的页面的全路径和名称。为什么要全路径和名称?Web是一个无国界的环境,所以必须创造一个会话标识每个客户(将在以后介绍ASP如何做到这点)。
       这就意味着每当服务器完成向客户发送页面后,服务器就彻底忘记了这个客户。因此,当客户请求下一个页面时,与一个新的访问者是完全相同的。服务器无法记住这个客户,相应的,也就无法判断它们上次请求的页面是哪一个。因为,不能使用相对路径来提供一个页面,即使页面包含一个相对的链接也不行,例如:
       <A HREF=”Download.asp”Next Page</A
       浏览器将自动建立完整的新页面的URL,方法是使用当前页的域和路径;或使用页面<HEAD段中的<BASE元素,告诉浏览器一个页面中所有链接的其URL是什么。例如:
       <BASE HERF=http://www.wrox.com/Store
       当把鼠标指向一个页面的链接时,可在浏览器的状态栏中看到。当前页面的路径和当前域名或基域名或基路径已经与请求的页面名结合在一起了。
1、 客户请求的细节
所请求页面的全路径和名称的组合是浏览器请求页面时发住服务器的唯一住处浏览器的请求也能包含浏览器宿主的住处和客户端运行的操作系统。实际的信息内容将随着浏览器的不同而有相应的变化,只有很少一部分能够由其他的应用程序如搜索引擎robot提供。为了更清楚地了解该信息,下面是从IE 5.0发出的一个对页面http://www.wrox.com/Store/
Download.asp的请求信息:
       7/8/99 10:27:16 Sent GET /Store/Download.asp HTTP/1.1
       Accept: application/msword, application/vnd.ms-execl, application/vnd.ms-
       powerpoint, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-
       comet, */*
       Accept-Language: en-us
       Encoding: gzip, deflate
       Referer: http://ww.wrox.com/main_menu.asp
   &nb

来源:http://www.tulaoshi.com/n/20160129/1508581.html

延伸阅读
标签: ASP
  1.3   ASP Server对象 正像在前面看到的那样,通过服务器端包含的经ISAPI访问Web服务器的页面,用传统动态页面指令和命令可以做相当多的事情。但同时也有一些明显的限制。 例如,可以从Request.ServerVariables集合检索到所有随同客户端的请求发送过来的HTTP报头的值。它几乎可以与使用SSI #echo匹敌,同时具备的主要优...
标签: ASP
  (4)  删除虚拟应用程序 单击“Remove”按钮不会真正地删除Internet Services Manager中的该条目。而是把现有的虚拟应用程序转换为一个虚拟目录。这个目录有一个带有蓝色球的“文件夹”图标,该图标表示这并不是Web网站中一个真正的目录,而是对磁盘上另一个文件夹的一个重定向。对它进行的访问方式与创建它的虚拟应...
标签: ASP
  第四章      服务器进程和ASP Server对象 前面的章节已经研究了ASP的一些内置对象。重点介绍的对象有Request、Response、Session和Application对象。ASP中另一个比较主要的对象为Server对象。本章重点介绍这个对象的背景知识和使用方法。 Server对象在服务器端脚本中通过实例和使用其他外部对象和组件,...
标签: ASP
  访问和更新Cookies集合     Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。     ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出...
标签: ASP
  5.3.2 Dictionary对象示例        本书提供了一系列示例文件可用来试验脚本运行时间库的各种属性。        本章代码的缺省页面提供了一系列可使用的VBScript示例链接。有些示例对JScript同样有效。这些示例存放在Chapter05目录下相应的子目录里,显示的界面如图...

经验教程

738

收藏

13
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部