关于Net Core中处理Http请求的一些理解
上篇记录了一下Net Core之所以跨平台的根本 -- Kestrel服务器
那么一个Http请求究竟是如何被处理的呢
浏览器中输入一个要访问的地址 => 然后经过DNS解析 => 拿到IP + Port =>IIS将请求解析为HttpContext => 交给Net FrameWork
浏览器中输入一个要访问的地址 => 然后经过DNS解析 => 拿到IP + Port =>IIS/Apache/Ngix 转发 => Kestrel 监听端口 解析为HttpContext =>请求转发到代码
在Net Core中 请求转发到代码之后 进入Program Main方法之后 Net Core 控制台程序会启动一个Host主机 具体配置项在 CreateHostBuilder 方法里
在CreateHostBuilder 方法里完成对 Startup类的初始化
Startup类中 一般会有 构造函数,Configuartion(框架调用的给依赖注入容器配置服务实例) 和 Configure(配置http请求过程 中断middleware 全部请求都会被该中间件处理 以前的流程全部失效 相比于framework功能级的层面 现在是全部请求的处理过程的请求级层面)
请求在configure一层一层逐个执行中间件 最后一层一层逐个返回 如下图
总结起来就是 pay for what you use 而区别于之前的pay for all
这也是Net Core http管道处理模型的精髓
以上仅是本人个人体会与总结,如有错误之处,还望斧正
作者: Felix-Zhang
出处:https://www.cnblogs.com/zhangxiaoxia/p/12450202.html
版权:本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探