只想知道 发表于 2015-1-16 22:56:09

ASP网页编程之客户端和服务器的交换

asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。服务器|客户端
上一章先容了安装设置的一些基础成绩和ASP的利用,和其所供应的内置工具。本章将进一步研讨两个最经常使用的工具。在扫瞄器(或其他用户代办署理)和Web服务器之间,哀求与呼应中产生的信息交换能够经由过程ASP中的两个内置工具来举行会见和办理,这两个工具称为Request和Response工具。
在ASP页中所要举行的事情几近都要会见这两个工具,利用这两个工具的体例将影响页面的效力及牢靠性。固然,它们的次要用处是会见用户发还到服务器的值,即从HTML页的<FORM>段取得或附在URL前面作为查询字符串,并创立符合的输入前往给用户,且它们能够共享良多不异的要素。比方两个工具都可使用存储在客户端盘算机上的cookie。
因而,我们把本章分红两个自力的部分(每一个工具一部分),而且起首从客户端与服务器之间的信息交换动手,然后再研讨每个工具。这将更有助于了解它们之间的干系及其主要性。
因而,本章研讨的内容是:
客户端与服务器怎样交换以传送Web页或其他资本。
Request和Response工具的细节,和它们之间的配合点。
怎样经由过程一个窗体和查询字符串会见响应的值。
怎样读进或创立cookie并寄存在客户真个盘算机上。
服务器的变量是甚么?怎样会见和修正HTTP报头。
申明其他相干条目标变更,如客户的证书利用。
起首看一下客户扫瞄器(或“用户代办署理”)和ASP的Web服务器之间交换的情形。
当扫瞄器或其他的用户代办署理会见Web站点哀求页面时,在客户服务器和Web服务器之间就发生了一个对话,我们将细心研讨这个成绩,由于了解这个成绩有助于把握利用ASP的Request和Response工具的基础常识,进而才干进一步把握ASP的更多常识。
为节俭篇幅,在本章及本书前面的内容中利用“扫瞄器”(browser)一词。但必要记着的是,可以会见Web页面的使用程序毫不仅只要扫瞄器,有很多特别的使用程序从站点高低载网页,如为那些目力出缺陷用户计划的特别的客户端程序大概是用一般的扫瞄器有其他坚苦的人。最不言而喻的例子是搜刮引擎用来会见Web上的站点的robot。周全思索这些要素,包含一般的Web扫瞄器,正确的辞汇应当是用户代办署理(useragent)。
页面哀求的对话
当一个扫瞄器向Web站点提出页面哀求时,明显必需告知服务器,其哀求的是哪个页面。起首要做的是经由过程域名与服务器创建毗连,然后供应所哀求页面的全路径和称号。为何要全路径和称号?Web是一个无版图的情况,以是必需制造一个会话标识每一个客户(将鄙人一章先容ASP怎样做到这点)。
这就意味着每当服务器完成向客户发送页面后,服务器就完全健忘了这个客户。因而,当客户哀求下一个页面时,与一个新的会见者是完整不异的。服务器没法记着这个客户,响应的,也就没法判别它们前次哀求的页面是哪个。因而,不克不及利用绝对路径来供应一个页
面,即便页面包括一个绝对的链接也不可,比方:

扫瞄器将主动创建完全的新页面的URL,办法是利用以后页的域和路径;或利用页面<HEAD>段中的<BASE>元素,告知扫瞄器一个页面中一切链接的基URL是甚么。比方:

当把鼠标指向一个页面的链接时,可在扫瞄器的形态栏中看到如-1所示的情形。以后页面的路径和以后域名或基域名已与哀求的页面名分离在一同了。

1.客户哀求的细节
所哀求页面的全路径和称号的组合是扫瞄器哀求页面时发往服务器的独一信息。扫瞄器的哀求也能包括扫瞄器宿主的信息和客户端运转的操纵体系。实践的信息内容将跟着扫瞄器的分歧而有响应的变更,只要很少一部分可以由其他的使用程序如搜刮引擎robot供应。为了更分明地懂得该信息,上面是从IE5.0收回的一个对页面http://www.wrox.com/Store/Download.asp的哀求信息:

从中能够看出,这些信息中有关于用户代办署理和用户毗连的细节(如缺省的言语),也有可以承受的文件或使用程序的范例列表,这些都是MIME范例的,在前面将会晤到更多。扫瞄器可以承受几种图象文件及多种MicrosoftOffice文件范例。“尺度”的文件范例,如text/html和text/text没有列在个中。文件列表中*/*暗示可向扫瞄器发还任何范例的文件,由扫瞄器注释或经由过程一个插件(plug-in)使用程序来举行注释。
cookie:条目包括的cookie寄存在客户真个盘算机上,并仅对该域无效。假设哀求是点击链接的了局,而不是在扫瞄器的地点栏间接输出URL,则Referer:条目被显现,它包括了链接页面的完全的URL。
Host:条目包括客户盘算机的IP地点或称号。但是,这还不敷以正确分辨客户机。由于它们经由过程ISP毗连时,IP地点是静态分派的,大概经由过程一个代办署理服务器毗连时,IP地点是代办署理机的而不是实践的客户机的。
2.服务器呼应的细节信息
为呼应上述的哀求,并对匿名的扫瞄器(即用户不用供应用户名和会见口令)供应哀求的页面,上面的内容是从服务器发往客户机的:

能够看出服务器向客户端申明本人所用的软件及版本,第一行标明所利用的是HTTP协定,及前往码的形态。信息“200OK”暗示哀求被承受并失掉了满意。前面的信息是被前往的页面的细节,包含MIME范例(Content-Length:)、巨细(字节)、比来变动的工夫,和前往客户端存储的cookie。呼应中的其他信息是页面内容的信息流。
在某些情形下,服务器呼应一个哀求后,不克不及前往一个页面,大概由于页面不存在,大概客户没有响应权限来会见它。我们将在本书后续章节会商平安成绩。如今,关于哀求页面不存在的情形(比方用户在扫瞄器的地点栏输出了毛病的URL),前往的信息开首为:

这里,形态码和信息标明客户哀求的页面没法找到。扫瞄器可以使用这个信息向用户显现响应的信息(这类情形在IE5.0中不显现服务器的呼应信息,而显现响应“匡助性”的毛病提醒页面),也可显现服务器创立的缺省页面(依附于服务器的设置)。
至此,我们已看到了客户机与服务器交互感化中的一些细节,上面先容ASP工具Request和Response怎样把这些转换成响应的值。


ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。

冷月葬花魂 发表于 2015-1-19 09:20:20

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

不帅 发表于 2015-1-24 12:02:00

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

小妖女 发表于 2015-2-1 09:52:45

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

深爱那片海 发表于 2015-2-7 02:22:40

不能只是将它停留在纸上谈兵的程度上。

蒙在股里 发表于 2015-2-19 20:56:56

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

因胸联盟 发表于 2015-3-6 15:21:27

不能只是将它停留在纸上谈兵的程度上。

海妖 发表于 2015-3-13 03:09:30

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

精灵巫婆 发表于 2015-3-20 11:04:30

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
页: [1]
查看完整版本: ASP网页编程之客户端和服务器的交换