.NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记
2.1 引入
- http协议
- web server && web application framework
- .net 与 .net core asp .net core
- web api 示例
CS:客户端-服务器
BS:浏览器-服务器
2.1.1 http协议
- 请求过程
- 消息结构
- 请求方法
- 状态码
- header
请求过程
- 1.URL解析
- 2.DNS查询
- 3.TCP连接
- 4.处理请求
- 5.接受响应
- 6.渲染页面
在浏览器输入 URL 回车之后发生了什么:
https://juejin.im/post/6844903922084085773
消息结构
了解HTTP请求和响应结构:
https://juejin.im/post/6844903843277307917
请求方法
- GET 获取
- POST 创建
- PUT 替换(资源整体替换)
- PATCH 修改(资源段落性修改)
- DELETE 删除
- OPTIONS
状态码
- 200
- 300 已转移地址/永久移动(response redirect)
- 401 未认证
- 403 未授权
- 404 未找到文件
- 500 内部服务错误,服务器不知道如何处理的错误
HTTP协议详解:
https://www.cnblogs.com/tankxiao/archive/2012/02/13/2342672.html
2.1.2 web server && web application framework
web server
- IIS
- Nginx
- Apache
webapplication framework
- asp .net
- asp .net core
- springboot
- express

基本功能
- url映射
- 安全性(认证、授权等)
- 网页模板系统 razer pages
- 数据库关系与映射(ORM)
扩展功能
- 依赖注入
- 配置
- 日志
2.1.3 .net 与 .net core asp .net core

.net 是一个开发者平台的统称,用它可以构建多种类型的应用程序
.net 平台下的开发语言:c#/F#/Visual Basic
平台标准 .NET Standard:
https://dotnet.microsoft.com/platform/dotnet-standard

平台实现
- .net core: 跨平台方案
- .net framework: web sites, services, apps on windows
- Xamarin/mono: .net for mobile
每个平台由以下组件构成:
一个或多个运行时。示例:CLR 用于 .NET Framework,CoreCLR 和 CoreRT 用于 .NET Core
实现 .NET Standard 并且可实现其他 API 的类库。示例:.NET Framework 基类库、.NET Core 基类库
可选择包含一个或多个应用程序框架。示例:ASP .NET、Windows 窗体和 Windows Presentation Foundation (WPF) 包含在 .NET Framework 和 .NET Core 中
可包含开发工具。某些开发工具在多个实现之间共享
.NET 体系结构
https://docs.microsoft.com/zh-cn/dotnet/standard/components
.NET Core 平台
coreclr:
https://github.com/dotnet/runtime
包含 garbage collector, JIT compiler, primitive data types and low-level classes
asp .net core
.net core 平台下的一个 web 应用框架:
https://github.com/dotnet/aspnetcore
Extensions(用于控制台和 web)
ASP .NET CORE (Web Application Framework)
Entity Framework Core (ORM 框架)
2.1.4 web api 示例
安装 SDK
https://dotnet.microsoft.com/download/dotnet-core/3.1
新建 web api 示例
dotnet new webapi -n HelloApi
启动程序
dotnet run
课程链接
https://appsqsyiqlk5791.h5.xiaoeknow.com/v1/course/video/v_5f39bdb8e4b01187873136cf?type=2

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。
.NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记的更多相关文章
- .NET 云原生架构师训练营(建立系统观)--学习笔记
目录 目标 ASP .NET Core 什么是系统 什么是系统思维 系统分解 什么是复杂系统 作业 目标 通过整体定义去认识系统 通过分解去简化对系统的认识 ASP .NET Core ASP .NE ...
- .NET 云原生架构师训练营(对象过程建模)--学习笔记
目录 UML OPM OPM优化 UML 1997年发布UML标准 主要域 视图 图 主要概念 结构 静态视图 类图 类.关联.泛化.依赖关系.实现.接口 用例视图 用例图 用例.参与者.关联.扩展. ...
- .NET 云原生架构师训练营(设计原则&&设计模式)--学习笔记
目录 设计原则 设计模式 设计原则 DRY (Don't repeat yourself 不要重复) KISS (Keep it stupid simple 简单到傻子都能看懂) YAGNI (You ...
- .NET 云原生架构师训练营(责任链模式)--学习笔记
目录 责任链模式 源码 责任链模式 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无需关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了 何时使用:在处理 ...
- .NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记
目录 什么是软件架构 软件架构的基本思路 单体向分布式演进.云原生.技术中台 1.1 什么是软件架构 1.1.1 什么是架构? Software architecture = {Elements, F ...
- .NET 云原生架构师训练营(权限系统 RGCA 架构设计)--学习笔记
目录 项目核心内容 实战目标 RGCA 四步架构法 项目核心内容 无代码埋点实现对所有 API Action 访问控制管理 对 EF Core 实体新增.删除.字段级读写控制管理 与 Identity ...
- .NET 云原生架构师训练营(模块二 基础巩固 敏捷开发)--学习笔记
2.7.1 敏捷开发 敏捷介绍 敏捷的起源 敏捷软件开发宣言 敏捷开发十二原则 生命周期对比 敏捷开发的特点 敏捷的发展 敏捷的核心 敏捷的起源 2001年,17个老头子在一起一边滑雪,一边讨论工作, ...
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 介绍和基础)--学习笔记
2.5.1 MongoDB -- 介绍 mysql vs mongo 快速开始 mysql vs mongo 对比 mysql mongo 数据存储 table 二维表结构,需要预先定义结构 json ...
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 问答系统)--学习笔记
2.5.6 MongoDB -- 问答系统 MongoDB 数据库设计 API 实现概述 MongoDB 数据库设计 设计优化 内嵌(mongo)还是引用(mysql) 数据一致性 范式:将数据分散到 ...
- .NET 云原生架构师训练营(模块二 基础巩固 Scrum 团队)--学习笔记
2.7.3 Scrum 团队 理想的环境 团队章程 如何组建 Scrum 团队 产品待办事项列表 用户故事 敏捷开发流程 理想的环境 5-9人 100% 跨职能 在一起 自组织 自组织 目标 授权 沟 ...
随机推荐
- [Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event.
在基于 Element-ui 写项目的时候,Chrome 提醒: [Violation] Added non-passive event listener to a scroll-blocking ' ...
- 假如有一个需求,我们要在一个页面中 ul 标签里渲染 **十万** 个 li 标签
1 // 插入十万条数据 2 const total = 100000; 3 let ul = document.querySelector('ul'); // 拿到 ul 4 5 // 懒加载的思路 ...
- liunx基础概述
一.liunx起源 1.1991,芬兰研究生Liunus Torvalds编写了liunx的代码,并上传到互联网 2.Liunx基于UNIX,但是有别与UNIX 3.Liunx的软件产品使用了社区开发 ...
- Liunx运维(二)-文件与目录操作
文档目录: 一.pwd:显示当前位置 二.cd:切换目录 三.tree:树形结构显示目录 四.mkdir 创建目录 五.touch:创建空文件或改变文件时间戳 六.ls:显示目录下内容相关属性信息 七 ...
- [转帖]tcplife的使用
https://www.rutron.net/posts/2203/bcc-tcplife-usage/ 这篇文档主要演示了 tcplife(Linux eBPF/bcc) 工具的使用. 示例 tcp ...
- [转帖]MySQL Decimal 的实现方法
码: 背景 数字运算在数据库中是很常见的需求, 例如计算数量.重量.价格等, 为了满足各种需求, 数据库系统通常支持精准的数字类型和近似的数字类型. 精准的数字类型包含 int, decimal 等, ...
- [转帖]Jmeter连接InfluxDB2.0.4
Jmeter连接InfluxDB2.0.4 问题描述:在用Jmeter+InfluxDB构建监控时,因为docker构建的InfluxDB的版本是2.0.4,按照网上的教程进行后端监听器的填写,但是一 ...
- MySQL数据库页存储结构学习与了解
MySQL数据库页存储结构学习与了解 背景 MySQL总是出现奇奇怪怪的问题. 想着自己能够学习与提高一下. 最近看了很多文档.关于MySQL数据库相关的. 想着总结和提炼一下, 希望能够给未来的工作 ...
- [转帖]ipset命令介绍与基本使用
一. 介绍 ipset命令是用于管理内核中IP sets模块的,如iptables之于netfilter.ipset字面意思是一些IP地址组成一个集合(set).但是ipset用于用于存储IP地址,整 ...
- [转帖]BIS出口管制新规说明会,进一步明确十大问题
https://zhuanlan.zhihu.com/p/573765504 10月13日晚9点,BIS就出口管制新规举行电话会议简报,出口执法助理副部长Thea Kendler主持会议.小白总结要点 ...