.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