黑马程序员—html整体请求

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

 

在客户通过网页访问一个服务器的时候,这是一个怎样的过程呢,黑马程序员“整体请求示意图”

用户通过网络访问我们的网站(比方说index.aspx页面)

浏览器通过网络访问服务器,由服务器软件接收到请求

传到iis(或者是其他网络服务软件)

服务器软件发现处理不了这种后缀的文件,就通过映射表将请求传给了服务器扩展程序中叫做ASPNET_ISAPI.DLL的程序

(其中的ASP.NET ISAPI相当于一个桥梁的作用)

可扩展程序将请求给网站程序,网站程序调用HttpRuntime类的静态方法处理请求

由HttpRuntime类处理所有的请求,他的工作有下面几点

1、分析请求报文,并将报文数据封装如一个叫做HttpWorkerRequest类对象对应的属性中

2、通过调用HttpApplicationFactory的类的一个静态方法来创建HttpApplication对象

      HttpApplication池:每次HttpApplicationFactory都会到这个池里边查找,看有没有空闲的HttpApplication对象,如果有,就直接拿出来用,否则才创建新的来使用

      HttpApplication对象:为每个请求创建单独的Httpapplication对象,那么网站针对此次请求的所有运行过程都在此对象中完成

3、创建HttpContext对象,此对象是当前请求的上下文环境,里面包含处理请求的所有参数。其中最重要的就是HttpRequest和HttpResponse两个雷德对象

3.1、创建HttpContext主要是包含了所有的请求信息,这些信息来源于HttpWorkerRequest对象,对象中包含属性:Form(客户端表单数据),QueryString(客户端URL参数)

3.2、HttpRequest主要包含了FileStream对象,用来保存页面类执行过程中要输出给浏览器的数据

4、因为在HttpApplication里要运行被请求的页面类对象里的ProcessRequest方法,所以,需要将HttpContext对象传入到HttpApplication中来

 

 

执行Httplication的ProcessRequest方法(可以讲这个方法看做是一个管道)此方法中,要先后按照顺序创建19个委托事件。

1、在其中的第8个事件时,创建被请求的页面类对象

2.、在11,12事件之间,执行了被创建的页面类对象的ProcessRequest方法

 

以上是页面从互联网到服务器之间的简单处理过程,有不详尽之处,请不吝指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值