zoukankan      html  css  js  c++  java
  • IIS处理brower的一个页面请求(www.test.com/SX?a=1)的处理流程

    IIS处理brower的一个页面请求(www.test.com/SX?a=1)的处理流程:
    1。网址www.test.com/SX?a=1,通过域名服务器解析出www.test.com所对应的ip地址
    2。根据ip地址,生成http包,通过 http get的方式传到指定服务器,被iis截获http请求
    //以下是服务器端iis的处理
    3。iis根据http头,把虚拟目录SX,转换为对应的物理路径
    4。iis根据物理路径,搜索请求的文件,这里www.test.com/SX?a=1没有指明具体文件,则取 iis里面设置的默认主页面名称,iis里一般配置成default.htm,index.htm等。

    //以下是动态语言的服务器进程的处理
    5。根据所请求文件的后缀名,iis决定是否调用ISAPI过滤器,ISAPI过滤器是一个标准com组件,负责处理iis不能处理的文件,比如(.aspx文件)。
     因为iis本身是不支持动态页面的,所以需要处理动态页面的时候,iis会根据 配置的ISAPI过滤器,决定该调用哪个 处理程序。如果没有对应的处理程序,iis会原封不动的返回页面的html代码给brower
    6。如果是.aspx文件(也可以是其他扩展名,.aspx只是iis默认的asp.net页面),iis则调用asp.net处理进程
    7。asp.net处理进程 根据.aspx页面配置的 后台代码类,调用相应编译好的类,完成后台代码处理,然后生产html文件
    8。html页面生成完成后,iis 生成http头信息
    9。iis生产http包,包括http头+html,传给相应 brower
    10。brower解析http之后,根据html文件,找出引用文件,比如.JS,.CSS文件,向server请求下载这些文件
    11。iis获取请求,发送这些文件。
    12。brower接受完文件后,解释生产相应页面。显示出来了

    //
    在asp.net中如果需要处理 对 isapi filter的处理,只需实现ihttpmodule接口。

    要实现HttpModule功能需要如下步骤:

    1.编写一个类,实现IhttpModule接口

    2.实现Init 方法,并且注册需要的方法

    3.实现注册的方法

    4.实现Dispose方法,如果需要手工为类做一些清除工作,可以添加Dispose方法的实现,但这不是必需的,通常可以不为Dispose方法添加任何代码。

    5.Web.config文件中,注册您编写的类

    到这里我们还需要了解一个Asp.Net的运行过程:

    在图中第二步可以看到当请求开始的时候,马上就进入了HttpModule,如果你自己重写了此方法,则在这里就进入你实现了ihttpmodel的对象了 

    HttpModule执行的顺序取决于web.config配置HttpModule的顺序,而HttpModule中事件的执行先后顺序与asp.net运行机制相关,具体执行顺序如下:

    BeginRequest
    AuthenticateRequest
    AuthorizeRequest
    ResolveRequestCache
    AcquireRequestState
    PreRequestHandlerExecute
    PostRequestHandlerExecute
    ReleaseRequestState
    UpdateRequestCache
    EndRequest


    此外,有三个不确定的顺序:
    PreSendRequestHeaders
    PreSendRequestContent
    Error

    举个例子:
    如果你在web.config配置了两个HttpModule,分别是HttpModuleA,HttpModuleB

    这个事件执行的顺序如下:
    HttpModuleA->BeginRequest
    HttpModuleB->BeginRequest
    HttpModuleA->AuthenticateRequest
    HttpModuleB->AuthenticateRequest
    HttpModuleA->AuthorizeRequest
    HttpModuleB->AuthorizeRequest
    ...以此类推

  • 相关阅读:
    百度编辑器图片在线流量返回url改动
    谋哥:悟马道长第一句话之“不要赚屌丝的钱”
    HDOJ 题目3518 Boring counting(后缀数组,求不重叠反复次数最少为2的子串种类数)
    mysqlbinlog高速遍历搜索记录
    推断整数、推断邮箱、推断手机号码、推断邮政编码、推断中文
    用筛选法求100以内的素数(数组)
    【DataStructure】One of queue usage: Simulation System
    Registry Connect failed,Windows服务诊断
    Struts2 的工作原理
    vue上传图片到服务器
  • 原文地址:https://www.cnblogs.com/jacktu/p/594761.html
Copyright © 2011-2022 走看看