《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?
在本节中,您将看到asp.net core应用程序如何运行的,从请求url开始到页面呈现在浏览器中。 为此,您将看到 一个http请求在web服务器中是如何被处理的、asp.net core如何扩展该过程以创建动态页面。
http请求在web服务器中是如何被处理
当用户在浏览器中输入url并按下回车。 浏览器将使用http协将用户的请求发送到托管web应用程序的服务器,一旦服务器收到请求,它将根据请求的类型生成相应http响应。 响应可能是一个网页、图像、javascript文件或简单确认。当浏览器接收到响应时,它会将内容在屏幕上呈现给用户。如下图所示:
asp.net core如何处理请求
asp.net core应用和浏览器之间的交互,和上面所讲的过程一样。它包含了处理请求的所有功能(验证请求是否有效、登录以及生成相应的html)。如下图所示:反向代理服务器将请求传递给您的应用程序之前捕获该请求。 在windows中,反向代理服务器通常是iis,在linux或macos上它可能是nginx或者apache(反向代理是负责接收请求的程序,并将请求转发到合适的web服务器。 反向代理被暴露到互联网中,而底层的web服务器只暴露给反向代理, 这样做的好处主要是安全性和提高web服务器性能)。
请求从反向代理转发到asp.net core应用程序。每个asp.net core应用程序都有一个内置的web服务器,默认情况下是kestrel负责接收原始请求并构建内部数据结构(一个httpcontext对象),可供应用程序的其余部分使用,它包含了应用创建响应所需的全部信息。 一旦应用程序处理完请求(通过中间件及应用逻辑),它将返回web服务器响应。 asp.net core web服务器将响应转换为原始http响应,并将其发送回反向代理,反向代理再将响应转发到用户的浏览器。
asp.net core 的简介,就介绍到这里,接下来我们进入深入的研究和学习。在这之前,请选为你的asp.net core 应用选择一个运行的平台,你可以选择 .net core、full .net framework. 如果你的应用没有依赖windows的特定功能(注册表,目录服务,微软发布了兼容性包,这使得这些api在.net core中可用),那么请选择.net core ,否则请选择full .net framework。接下来章节所涉及的示例,我们使用windows 10 + visual studio 2107 进行演示(不用担心,这些代码完全可以运行在linux, macos等平台上)如图所示:
谢谢你的阅读,下节见!如果期待本系列,请点一下推荐!
上一篇: Redis
下一篇: ASP.NET三层架构项目创建流程
推荐阅读
-
ASP.NET Core 2.2 WebApi 系列【三】AutoFac 仓储接口的依赖注入
-
利用Asp.Net Core的MiddleWare思想如何处理复杂业务流程详解
-
《ASP.NET Core In Action》读书笔记系列一 ASP.NET Core 的诞生
-
如何在Asp.Net Core MVC中处理null值的实现
-
《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1
-
asp.net core webapi处理Post请求中的request payload
-
《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core
-
ASP.NET Core MVC解决控制器同名Action请求不明确的问题
-
《ASP.NET Core In Action》读书笔记系列,这是一个手把手的从零开始的教学系列目录
-
如何处理ASP.NET Core中HTML5客户端路由回退的问题