zoukankan      html  css  js  c++  java
  • HttpModule的认识与深入理解

    HttpModule的认识与深入理解

    一个HTTP请求在HttpModule容器的传递过程中,会在某一时刻(ResolveRequestCache事件)将这个HTTP请求传递给HttpHandler容器。在这个事件之后,HttpModule容器会建立一个HttpHandler的入口实例,但是此时并没有将HTTP请求控制权交出,而是继续触发AcquireRequestState事件以及PreRequestHandlerExcute事件。在PreRequestHandlerExcute事件之后,HttpModule窗口就会将控制权暂时交给HttpHandler容器,以便进行真正的HTTP请求处理工作。


    而在HttpHandler容器内部会执行ProcessRequest方法来处理HTTP请求。在容器HttpHandler处理完毕整个HTTP请求之后,会将控制权交还给HttpModule,HttpModule则会继续对处理完毕的HTTP请求信息流进行层层的转交动作,直到返回到客户端为止。

    HttpModule过程在下面的事件:
    BeginRequest    指示请求处理开始。
    AuthenticateRequest PostAuthenticateRequest    封装请求身份验证过程。
    AuthorizeRequest   PostAuthorizeRequest    封装请求授权过程。 
    ResolveRequestCache PostResolveRequestCache    封装检查是否能利用以前缓存的输出页面处理请求的过程。
    PostMapRequestHandler    指示已发现用于处理请求的 HTTP 处理程序。
    AcquireRequestState    PostAcquireRequestState    封装对请求会话状态的检索。
    PostRequestHandlerExecute    指示用于处理请求的 HTTP 处理程序已执行。
    ReleaseRequestState   PostReleaseRequestState    封装对请求会话状态的发布。
    UpdateRequestCache    PostUpdateRequestCache    封装检查是否应对请求的资源的输出进行缓存以备今后重复使用的过程。
    EndRequest    指示请求处理结束。

  • 相关阅读:
    UML中常用的类图元素介绍
    灵魂架构师论坛 正在崛起
    什么是模式,什么是框架
    RPG Maker XP
    php常用HEADER头记录
    PHP MYSQLI扩展库面向对象编程 数据库连接 例子
    PHP 通过MYSQL扩展库 连接MYSQL例子
    MYSQL 数据库相关操作总结
    MYSQL 客户端控制台 中文乱码
    PHP 安全编程慢慢总结
  • 原文地址:https://www.cnblogs.com/chucklu/p/13332678.html
Copyright © 2011-2022 走看看