.NET 云原生架構(gòu)師訓練營(模塊二 基礎(chǔ)鞏固 引入)--學習筆記
2.1 引入
http協(xié)議
web server && web application framework
.net 與 .net core asp .net core
web api 示例
CS:客戶端-服務器
BS:瀏覽器-服務器
2.1.1 http協(xié)議
請求過程
消息結(jié)構(gòu)
請求方法
狀態(tài)碼
header
請求過程
1.URL解析
2.DNS查詢
3.TCP連接
4.處理請求
5.接受響應
6.渲染頁面
在瀏覽器輸入 URL 回車之后發(fā)生了什么:
https://juejin.im/post/6844903922084085773
消息結(jié)構(gòu)
了解HTTP請求和響應結(jié)構(gòu):
https://juejin.im/post/6844903843277307917
請求方法
GET 獲取
POST 創(chuàng)建
PUT 替換(資源整體替換)
PATCH 修改(資源段落性修改)
DELETE 刪除
OPTIONS
狀態(tài)碼
200
300 已轉(zhuǎn)移地址/永久移動(response redirect)
401 未認證
403 未授權(quán)
404 未找到文件
500 內(nèi)部服務錯誤,服務器不知道如何處理的錯誤
HTTP協(xié)議詳解:
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映射
安全性(認證、授權(quán)等)
網(wǎng)頁模板系統(tǒng) razer pages
數(shù)據(jù)庫關(guān)系與映射(ORM)
擴展功能
依賴注入
配置
日志
2.1.3 .net 與 .net core asp .net core

.net 是一個開發(fā)者平臺的統(tǒng)稱,用它可以構(gòu)建多種類型的應用程序
.net 平臺下的開發(fā)語言:c#/F#/Visual Basic
平臺標準 .NET Standard:
https://dotnet.microsoft.com/platform/dotnet-standard

平臺實現(xiàn)
.net core: 跨平臺方案
.net framework: web sites, services, apps on windows
Xamarin/mono: .net for mobile
每個平臺由以下組件構(gòu)成:
一個或多個運行時。示例:CLR 用于 .NET Framework,CoreCLR 和 CoreRT 用于 .NET Core
實現(xiàn) .NET Standard 并且可實現(xiàn)其他 API 的類庫。示例:.NET Framework 基類庫、.NET Core 基類庫
可選擇包含一個或多個應用程序框架。示例:ASP .NET、Windows 窗體和 Windows Presentation Foundation (WPF) 包含在 .NET Framework 和 .NET Core 中
可包含開發(fā)工具。某些開發(fā)工具在多個實現(xiàn)之間共享
.NET 體系結(jié)構(gòu)
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