Kestrel简介_Kestrel Web 服务器简介
一、Kestrel简介
Kestrel 是一个跨平台的适用于 Kestrel。
Kestrel 是包含在 ASP.NET Core 项目模板中的 Web 服务器,默认处于启用状态。
.NET Core 支持的所有平台和版本均支持 Kestrel。
未使用 IIS 托管时,ASP.NET Core 项目模板默认使用 Kestrel。 在“Program.cs”中, 方法调用 UseKestrel:
var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/", () => "Hello World!"); app.Run();
二、服务器配置终结点
var builder = WebApplication.CreateBuilder(args); //配置服务器 builder.WebHost.UseUrls("http://localhost:8080"); // Add services to the container. builder.Services.AddControllersWithViews(); var app = builder.Build();
更多详细配置参考:
默认配置情况下:
Kestrel 在 http://localhost:5000 和 https://localhost:5001 上进行侦听(如果默认证书可用)。
三、Kestrel 与 HTTP.sys
与HTTP.sys 相比,Kestrel 具有以下优势:
- 更好的性能和内存利用率。
- 跨平台
- 灵活性,它是独立于操作系统进行开发和修补的。
- 编程端口和 TLS 配置
- 扩展性,允许 PPv2 等协议和备用传输。
Http.Sys 作为共享内核模式组件运行,具有 kestrel 不具备的以下功能:
- 端口共享
- 内核模式 Windows 身份验证。 Kestrel 仅支持用户模式的身份验证。
- 通过队列传输的快速代理
- 直接文件传输
- 响应缓存
更多: