《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#语言的各种 ...
随机推荐
- selenium截取具体元素图片(python版)
原理: 1.截图(整个窗口) 2.获取此元素坐标 element = driver.find_element_by_id("xx") element.location) 3.获取此 ...
- Django与ajax、分页器
ajax简单数据响应 ajax请求,后台只需要返回信息,所以不会出现render.redirect 模板层: $('.btn').click(function() { $.ajax({ url: '/ ...
- 【AtCoder】【组合数学】【模型转换】Colorful Balls(AGC012)
题意: 有n个球,每个球有两个值,一个是颜色,另一个是重量.可以进行如下的操作任意次: 1.选择两个颜色相同的球,如果这两个球的重量之和小于等于X,就交换这两个球: 2.选择两个颜色不同的球,如果这两 ...
- Mac解决某些命令失效问题
PS:今天安装groovy,需要设置环境变量,vim -/.bash_profile,然后立马执行了source -/.bash_profile.最后,发现ls,more,vim等常用命令失效了.立马 ...
- [Caffe]Win10+VS2015+CUDA8.0+cudnn5.1环境配置
百度:win10 caffe vs2015 编译caffe.sln工程参见->这里 caffe训练参见->这里 参见->这里 Windows+VS2013爆详细Caffe编译安装教程
- 百度API获取经纬度使用
首先通过百度地图,注册账号,然后申请密钥 http://lbsyun.baidu.com/apiconsole/key 搜索某个关键字 http://api.map.baidu.com/place/v ...
- Contributed to JFairy
虽然delay了一个多月才看到,但第一次被一个开源项目正式感谢,开心. 其实写过的很多东西都有机会contr的,只是有些是公司代码...
- eclipse部分常用快捷键
-------------eclipse常用快捷键------------- 1.alt+?或alt+/:自动补全代码或者提示代码 2.ctrl+o:快速outline视图 3.ctrl+shift+ ...
- 关于eclipse的Progress一直跳转的解决方案
下载eclipse编程,发现了一个问题:执行main方法第二次console打印不出数据,后发现Progress一直跳转,而且非常多进度条在运行,关闭后第一次执行没问题,第二次问题重复出现. 有幸看到 ...
- java线程的学习
接口 Runable 属性:target 方法:void run() 类 Thread 方法:void start()用来启动一个线程 void run() 线程启动后执行的方法 Sting getN ...