功能接口
ASP.NET Core 在 Microsoft.AspNetCore.Http.Features 中定义了许多 HTTP 功能接口,服务器使用这些接口来标识其支持的功能:
IHttpRequestFeature 定义 HTTP 请求的结构,包括协议、路径、查询字符串、标头和正文。
IHttpResponseFeature 定义 HTTP 响应的结构,包括状态代码、标头和响应的正文。
IHttpAuthenticationFeature 定义支持基于 ClaimsPrincipal 来标识用户并指定身份验证处理程序。
IHttpUpgradeFeature 定义对 HTTP 升级的支持,允许客户端指定在服务器需要切换协议时要使用的其他协议。
IHttpBufferingFeature 定义禁用请求和/或响应缓冲的方法。
IHttpConnectionFeature 为本地和远程地址以及端口定义属性。
IHttpRequestLifetimeFeature 定义支持中止连接,或者检测是否已提前终止请求(如由于客户端断开连接)。
IHttpSendFileFeature 定义异步发送文件的方法。
IHttpWebSocketFeature 定义支持 Web 套接字的 API。
IHttpRequestIdentifierFeature 添加一个可以实现的属性来唯一标识请求。
ISessionFeature 为支持用户会话定义 ISessionFactory 和 ISession 抽象。
ITlsConnectionFeature 定义用于检索客户端证书的 API。
ITlsTokenBindingFeature 定义使用 TLS 令牌绑定参数的方法。
备注
ISessionFeature 不是服务器功能,而是由 SessionMiddleware 实现(请参阅管理应用程序状态)。
功能集合
HttpContext 的 Features 属性为获取和设置当前请求的可用 HTTP 功能提供了一个接口。 由于功能集合即使在请求的上下文中也是可变的,所以可使用中间件来修改集合并添加对其他功能的支持。