一个http请求是这样的

这是一个图:表示了http请求的全过程。 (部分内容转自:http://www.mediadiy.com)
Http Request开始
|
HttpModule
|
HttpModule.BeginRequest()
|
HttpModule.AuthenticateRequest()
|
HttpModule.AuthorizeRequest()
|
HttpModule.ResolveRequestCache()
|
建立HttpHandler控制点
|
接着处理(HttpHandler已经建立,此后Session可用)
|
HttpModule.AcquireRequestState()
|
HttpModule.PreRequestHandlerExecute()
|
进入HttpHandler处理HttpRequest
|
HttpHandler.ProcessRequest()
|
返回到HttpModule接着处理(HttpHandler生命周期结束,Session失效)
|
HttpModule.PostRequestHandlerExecute()
|
HttpModule.ReleaseRequestState()
|
HttpModule.UpdateRequestCache()
|
HttpModule.EndRequest()
|
HttpModule.PreSendRequestHeaders()
|
HttpModule.PreSendRequestContent()
|
将处理后的数据返回客户端
|
整个Http Request处理结束
值得注意的是:
1. httpHandler和httpModule的处理过程交叉的,在httpmodule的处理过程中,也有一部分会进行httphandler处理。
2. 在AcquireRequestState事件触发时,httphandler对象已经建立起来了。
原文地址:https://www.cnblogs.com/qkhh/p/476788.html