美文网首页
(一)ASP.NET请求与处理全过程分析

(一)ASP.NET请求与处理全过程分析

作者: 搬搬搬 | 来源:发表于2018-07-04 13:55 被阅读0次

ASP.NET请求与处理全过程分析

1.用户向服务器的某IP端口发送请求,此端口通过Http.sys来管理,请求报文被Http.sys接收,Http.sys在注册表中找能处理这个请求类型的应用程序,最终找到IIS,请求被提交到IIS服务器处理,IIS判断请求的类型。

如果请求的是静态文件,那么IIS会直接处理,在本地找到请求的静态文件,然后发送给浏览器。

如果是动态文件,如aspx或者ashx等动态文件,IIS就会去它的映射表里面去找,实现它接口的那个扩展程序可以处理这样的动态文件,然后IIS发现有个叫做aspnet_isapi的一个扩展程序可以处理处理像.aspx和.ashx这样后缀名的文件,那么IIS则把请求交给aspnet_isapi来处理。

2.aspnet_isapi将启动CLR(公共语言运行时),CLR负责启动asp.net框架的域,然后将请求交给asp.net框架来处理,框架里面有个一HttpRuntime类的对象,拿到用户的请求后,它负责将请求封装成HttpContext对象,调用application对象的ProcessRequest方法(HttpContext对象作为参数)处理请求,最后处理完成后,返回给IIS,IIS再返回给浏览器,浏览器解析渲染呈现给用户。

补充说明:

Http.sys是一个位于Win2003和WinXP SP2中的操作系统核心组件,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯。

Http.sys的好处:

1. 缓存 - 静态的内容现在被缓存于内核模式下,这使服务响应速度更快

2. 记录 (Log)-IIS的log功能更快且标准化了

3. 带宽控制 - greater scalability control and throttling

4. 可靠性 - 所有的服务请求会在Http.sys里暂存入队列,而不是由服务程序本身来处理,这样,即使服务程序重启,尚未被处理的请求也不会丢失了

5. IP端口重用 - 现在,只要是通过Http.sys管理的端口(基本包括了那些著名的端口,比如80),都可以同时允许多个程序同时监听了。

相关文章

  • (一)ASP.NET请求与处理全过程分析

    ASP.NET请求与处理全过程分析 1.用户向服务器的某IP端口发送请求,此端口通过Http.sys来管理,请求报...

  • ASP.NET MVC5请求管道和生命周期

    请求处理管道 请求管道是一些用于处理HTTP请求的模块组合,在ASP.NET中,请求管道有两个核心组件:IHttp...

  • asp.net core 系列 17 通用主机 IHostBui

    一.概述 ASP.NET Core 通用主机 (HostBuilder),该主机对于托管不处理 HTTP 请求的应...

  • .Net Core 3.x MVC 了解中间件

    ASP.NET Core 中的中间件是嵌入到应用管道中用于处理请求和响应的一段代码。 ASP.NET Core 请...

  • php请求分析与处理

    在一个web应用中,都有着一个从请求到响应的过程,那么在这之间,服务器端可以怎样进行一些相应的处理呢,今天借鉴YI...

  • HttpModuler与HttpHandler介绍和简单使用

    1 Asp.Net中的处理流程 当客户端请求一个*文件的时候,这个请求会被inetinfo.exe(IIS相关的系...

  • Spring MVC 源码笔记 三

    上一篇记录了处理请求的过程,这篇记录对请求参数与返回参数的处理在前面分析《Spring MVC 源码笔记 @Ena...

  • python 爬虫之路之 xpath

    案例分析 爬取图片 [核心处理1]请求地址分析【网页访问地址就是请求地址 | 抓包工具抓取实际请求地址】【请求参数...

  • ajax.请求码

    1**:请求收到,继续处理 2**:操作成功收到,分析、接受 3**:完成此请求必须进一步处理 4**:请求包含一...

  • ajax状态码

    1**:请求收到,继续处理 2**:操作成功收到,分析、接受 3**:完成此请求必须进一步处理 4**:请求包含一...

网友评论

      本文标题:(一)ASP.NET请求与处理全过程分析

      本文链接:https://www.haomeiwen.com/subject/kxyeuftx.html