欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?

程序员文章站 2022-03-10 09:13:54
在本节中,您将看到ASP.NET Core应用程序如何运行的,从请求URL开始到页面呈现在浏览器中。 为此,您将看到 一个HTTP请求在Web服务器中是如何被处理的、ASP.NET Core如何扩展该过程以创建动态页面。 ......

  在本节中,您将看到asp.net core应用程序如何运行的,从请求url开始到页面呈现在浏览器中。 为此,您将看到 一个http请求在web服务器中是如何被处理的、asp.net core如何扩展该过程以创建动态页面。

 

http请求在web服务器中是如何被处理

  当用户在浏览器中输入url并按下回车。 浏览器将使用http协将用户的请求发送到托管web应用程序的服务器,一旦服务器收到请求,它将根据请求的类型生成相应http响应。 响应可能是一个网页、图像、javascript文件或简单确认。当浏览器接收到响应时,它会将内容在屏幕上呈现给用户。如下图所示:

《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?

 

 

 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 In Action》读书笔记系列三 ASP.NET Core如何处理请求的?

 

 

  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等平台上)如图所示:

《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?

  

 

谢谢你的阅读,下节见!如果期待本系列,请点一下推荐!