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

谢谢你的阅读,下节见!如果期待本系列,请点一下推荐!
《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?的更多相关文章
- 《ASP.NET Core In Action》读书笔记系列一 ASP.NET Core 的诞生
最近打算系统学习一下asp.net core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...
- 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 ...
- 《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1
创建好项目后,解决方案资源管理器窗口里我们看到,增加了不少文件夹及文件,如下图所示: 在解决方案文件夹中,找到项目文件夹,该文件夹又包含五个子文件夹 -Models.Controllers.Views ...
- 《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core
ASP.NET Core 能用于什么样的应用 ASP.NET Core 可以用作传统的web服务.RESTful服务.远程过程调用(RPC)服务.微服务,这归功于它的跨平台支持和轻量级设计.如下图所示 ...
- asp.net MVC4 框架揭秘 读书笔记系列2
1.2 MVC 变体 MVC 是一种Pattern 另外一种说法是ParaDigm 范例 模式和范例的区别在于前者可以应用到具体的应用上,而后者则仅仅提供一些指导方针 1.2.1 MVP Model ...
- asp.net MVC4 框架揭秘 读书笔记系列1
1.1 传统MVC 名词解释 Autonomous View. AV. 自制视图 GUI图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式 ...
- 《ASP.NET Core In Action》读书笔记系列,这是一个手把手的从零开始的教学系列目录
最近打算系统学习一下asp.net core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
随机推荐
- 10树莓派Samba的安装与配置
2017-08-31 12:28:26 1.安装samba服务打开终端或者SSH连接树莓派,输入如下命令: sudo apt-get install samba 已经安装过了显示下列信息: pi@ra ...
- 线段树 区间开方区间求和 & 区间赋值、加、查询
本文同步发表于 https://www.zybuluo.com/Gary-Ying/note/1288518 线段树的小应用 -- 维护区间开方区间求和 题目传送门 约定: sum(i,j) 表示区间 ...
- 浅谈AngularJS中的指令和指令间的相互通信
说到AngularJS,我们首先想到的大概也就是双向数据绑定和指令系统了,这两者也是AngularJS中最为吸引人的地方.双向数据绑定呢,感觉没什么好说的,那么今天我们就来简单的讨论下AngularJ ...
- React(四)组件生命周期
组件的生命周期可分成三个状态: Mounting:已插入真实 DOM Updating:正在被重新渲染 Unmounting:已移出真实 DOM 生命周期的方法有: componentWillMoun ...
- GMA Round 1
学弟说我好久没更blog了. 因为自己最近其实没干什么. 所以来搬运一下GMA Round 1 的比赛内容吧,blog访问量.网站流量一举两得. 链接:https://enceladus.cf/con ...
- PHP 数组按多个字段排序
$array1 = array( 0=>array('id'=>8,'name'=>'Apple','age'=> 18), 1=>array ...
- JavaScript学习day3 (基本语法下)
if/else for while 函数的使用 JavaScript语句 if/else 语句 JavaScript 中的if/else 判断选择,语法格式是这样的 switch/case 语句 在做 ...
- linux下压缩解压缩命令
zip/gzip 命令 linux zip命令参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 ...
- solr 入门
这个博客写的不错,很详细 https://blog.csdn.net/wzy18210825916/article/details/80946454
- VS开发入门二: VS 里提示图标的含义
VS里面的 我们写代码的过程中,有智能提示可以看到前面的小图标,初学者可以判断是什么意思哟. 1.以下是常用的几个图标 2.其他参考图标: 事件 结构 接口 枚举项 模块 映射项 内部 ...