在本节中,您将看到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等平台上)如图所示:

  

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

《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?的更多相关文章

  1. 《ASP.NET Core In Action》读书笔记系列一 ASP.NET Core 的诞生

    最近打算系统学习一下asp.net  core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...

  2. asp.net MVC4 框架揭秘 读书笔记系列3

    IIS/ASP.net管道 本节全部用图形表示便于理解和记忆 1.3.1 IIS5.x与asp.net 1.3.2 IIS 6.0与asp.net 1.3.3 IIS7.0与asp.net 基于IIS ...

  3. 《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1

    创建好项目后,解决方案资源管理器窗口里我们看到,增加了不少文件夹及文件,如下图所示: 在解决方案文件夹中,找到项目文件夹,该文件夹又包含五个子文件夹 -Models.Controllers.Views ...

  4. 《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core

    ASP.NET Core 能用于什么样的应用 ASP.NET Core 可以用作传统的web服务.RESTful服务.远程过程调用(RPC)服务.微服务,这归功于它的跨平台支持和轻量级设计.如下图所示 ...

  5. asp.net MVC4 框架揭秘 读书笔记系列2

    1.2 MVC 变体 MVC 是一种Pattern 另外一种说法是ParaDigm 范例 模式和范例的区别在于前者可以应用到具体的应用上,而后者则仅仅提供一些指导方针 1.2.1 MVP Model ...

  6. asp.net MVC4 框架揭秘 读书笔记系列1

    1.1 传统MVC 名词解释 Autonomous View. AV. 自制视图 GUI图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式 ...

  7. 《ASP.NET Core In Action》读书笔记系列,这是一个手把手的从零开始的教学系列目录

    最近打算系统学习一下asp.net  core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...

  8. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  9. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

随机推荐

  1. Linux 新手应该知道的 26 个命令

    https://linux.cn/article-6160-1.html 当你进入了 Linux 的世界,在下载.安装 了某个 Linux 发行版,体验了 Linux 桌面并安装了一些你喜爱和需要的软 ...

  2. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习1

    #include <iostream>#include <cctype>using namespace std;int main(){ char ch; while((ch=c ...

  3. 手把手教你安装nmon

    一.nmon简介 nmon是由IBM 提供.免费监控 AIX 系统与 Linux 系统资源的工具.该工具可帮助在一个屏幕上显示服务器系统资源耗用情况,并动态地对其进行更新.此外,他还可以利用 exce ...

  4. JS_ Date对象应用实例

    一.获取日期时间,秒数实时跳动 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  5. (转)基于微软平台IIS/ASP.NET开发的大型网站有哪些?

    首先说明一下,本文绝不是要说Microsoft平台多么好,多么牛.只是要提醒一些LAMP/JAVA平台下的同志们,微软平台不至于像你们说的,和想象的那么不堪!只是你们自己不知道而已.同时,也希望广大M ...

  6. mobile_音悦台

    音悦台 less 可以 width = 1080/67.5rem; /**** 变量定义 ****/ @px: 67.5rem; /**** Start ****/ #wrap { width: 10 ...

  7. YARN的基础配置

    基于HADOOP3.0+Centos7.0的yarn基础配置: 执行步骤:(1)配置集群yarn (2)启动.测试集群(3)在yarn上执行wordcount案例 一.配置yarn集群 1.配置yar ...

  8. Jackson Annotation Examples

    1. Overview In this article, we’ll do a deep dive into Jackson Annotations. We’ll see how to use the ...

  9. java连接服务器语法

    一.连接sql步骤 1.加载数据库驱动类 2.获取数据库连接对象 3.写sql4.创建PreparedStatement对象5.执行查询返回ResultSet结果集对象7.释放资源 public st ...

  10. 当离开浏览器窗口,提示语title更改

    head里面插入一下代码 <script> document.addEventListener('visibilitychange',function(){if(document.visi ...