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
...以此类推

IIS处理brower的一个页面请求(www.test.com/SX?a=1)的处理流程相关推荐

  1. 从一个页面请求开始(二)

    20.httpd程序包自带的工具介绍                      httpd:             httpd - Apache Hypertext Transfer Protoco ...

  2. http请求过程(访问一个页面,发生了怎样的网络请求?)

    1. 域名解析->域名 ->缓存->根域dns->顶级域dns->本域dns->服务器IP 1.搜索浏览器自身DNS缓存,如果不存在或者过期(>60s)放弃 ...

  3. 如何解决用谷歌浏览器调试代码接口请求的时候,跳转网页切换网页的时候,上一个页面的接口请求记录被清除消失的问题

    经常我们在测试接口的返回报文的时候,可能是存在于不同网页的跳转过程中,但是浏览器默认的设置是只要一跳转页面,上一个页面的请求记录就没了,是不是很烦人,有时候我们还有以迅雷不及掩耳盗铃之势把浏览器的接口 ...

  4. php 等5秒钟继续,android – 如何每5秒钟继续请求一个页面而不是杀死电池?

    我正在开发的我的Android应用程序需要每5秒在我的服务器上请求一个页面,但我担心这将是一个大电池消费者,有没有更简单的方法?我目前的方法是每5秒循环一次的服务: protected void on ...

  5. vue 一个页面有点请求需要同时发送_前端性能优化,这些你都需要知道

    来源: 海洋里的魔鬼鱼 前言 最近花了一些时间在项目的性能优化上,背后做了很多工作,但是最后依然没有达到自己想要的结果,有些失望,但是还是记录下自己的执着. 性能优化总结:减少请求次数.减小资源大小. ...

  6. 一个vue请求接口渲染页面的例子

    new Vue({el:'#bodylist',data: {list: [{"type_id": "1","type_name": &qu ...

  7. vue一个页面发出多个异步请求_vue(6)—— vue中向后端异步请求

    异步请求 其实什么是异步请求已经不用多说了,通俗的说,就是整个页面不会刷新,需要更新的部分数据做局部刷新,其他数据不变. 学到这里,你应该用过jquery里的ajax了,所以很能理解了,不多说了.详细 ...

  8. 一个HTTP请求的曲折经历

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:8rr.co/6usv 从一个经典的面试题说起,输入URL到 ...

  9. 在一个html加载多个echarts,Echarts一个页面加载多个图表及图表自适应

    Echarts一个页面加载多个图表及图表自适应 模块化加载 //入口 require.config({ paths: { echarts: 'http://echarts.baidu.com/buil ...

最新文章

  1. 2022-2028年中国ABS管行业市场全景调研及发展趋势分析报告
  2. maven指定构建的编码格式
  3. Firebird日期时间操作
  4. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )
  5. 使用RegularExpressionValidator限制多行文本框的字数
  6. Shell Basic
  7. 使用rapid-framework自动生成struct2
  8. 我想做一个课程表系统利用PHP+MYSQL+HTML实现课表的展示,但是不知道如何实现
  9. post postman 传递数组对象_PostMan Post方式传递数组数据参数 OK_go
  10. 腾讯也有“神盾局”?秀出“技术肌肉”就靠TA了……
  11. Python小白的数学建模课-B5. 新冠疫情 SEIR模型
  12. ASP.NET Request.UrlReferrer 问题
  13. 利用hacking搜索技巧搜索到你任何特定想要的内容
  14. 外贸独立站VS第三方平台?
  15. 摄像头 保存到外网服务器_直播平台搭建千万不要忽略流媒体服务器的存在
  16. redis 学习笔记(6)-cluster集群搭建
  17. php制作随机抽奖,基于PHP实现简单的随机抽奖大程序
  18. 一 破解windows7系统密码
  19. Threats to Validity_追逐梦想的顾咏丰_新浪博客
  20. remix-ide,windows开发环境

热门文章

  1. 1分钟链圈 | 重大决定!以太坊团队例会上决定实行康斯坦丁堡硬分叉!
  2. 使用计算机眼睛保护方法,经常用电脑怎样保护眼睛 电脑族护眼有七个妙招
  3. 安防视频监控系统视频上云解决方案EasyCVR音频基础知识一文全介绍
  4. 卫士通渠道发布会:同迎产业盛世 共享安全未来
  5. NO.8 Android Opencv 眼球跟踪
  6. 为什么每个浏览器的 User-Agent 都有 Mozilla 字样?—— User-Agent混乱发展史
  7. python怎么表达我喜欢你_如何用含蓄的话表达我喜欢你 含蓄表达我喜欢你的句子大全...
  8. Popcap Framework 一个游戏框架(c++)
  9. 全国计算机erp应用专业人才,ERP技术开发应用专业毕业生个人简历模板
  10. 从3K到30K在长沙这座城市买房买车,23岁的年纪我到底经历了什么