Yes "owin.RequestPath" 包含请求路径的字符串

时间:2022-04-24 09:08:22

三、Middleware中间件

一、OWIN

1,OWIN介绍

OWIN是Open Web Server Interface for .Net的首字母缩写。OWIN在.Net Web Server与Web Application之间界说了一套标准接口。OWIN的方针用于解耦Web Server与Web Application。OWIN只是一个契约、规范,,而非代码的实现(Katana实现了OWIN)

2,OWIN规范

1)OWIN界说了Host、Server、Middleware、Application四层

①Host:主要卖力应用措施的配置和启动进程,包孕初始化OWIN Pipeline(管道,包罗了Middleware)、运行Server

②Server:绑定套接字并监听Http请求,然后将Request和Response的Body、Header封装成切合OWIN规范的字典并发送到OWIN Middleware Pipeline中措置惩罚惩罚

②Middleware:中间件、组件,位于Server与Application之间,用来措置惩罚惩罚发送到Pipeline中的请求

④Application:具体的应用措施代码

2)Application Delegate(应用措施委托),用于Server与Middleware的交互。他并不是严格意义上的接口,而是一个委托并且每个OWIN中间件组件必需供给。

Yes "owin.RequestPath" 包含请求路径的字符串

3)Environment Dictionary(环境字典),对http请求的封装

request data:

Required

 

Key Name

 

Value Description

 

Yes

 

"owin.RequestBody"

 

请求体。Stream类型

 

Yes

 

"owin.RequestHeaders"

 

请求头。IDictionary<string, string[]>类型

 

Yes

 

"owin.RequestMethod"

 

包罗请求的HTTP请求要领(例如,“GET”,“POST”)的字符串。

 

Yes

 

"owin.RequestPath"

 

包罗请求路径的字符串。 该路径必需是相对付应用措施委托的“根”的

 

Yes

 

"owin.RequestPathBase"

 

包罗与应用措施委托的“根”对应的请求路径部分的字符串

 

Yes

 

"owin.RequestProtocol"

 

包罗协议名称和版本的字符串(例如“HTTP / 1.0”或“HTTP / 1.1”)。

 

Yes

 

"owin.RequestQueryString"

 

包罗HTTP请求URI的盘问字符串组件的字符串,不含前导“?”(例如,“foo = bar&baz = quux”)。 该值可能是一个空字符串。

 

Yes

 

"owin.RequestScheme"

 

包罗用于请求的URI方案(例如“http”,“https”)的字符串

 

response data:

Required

 

Key Name

 

Value Description

 

Yes

 

"owin.ResponseBody"

 

响应体。Stream类型

 

Yes

 

"owin.ResponseHeaders"

 

响应头。IDictionary<string, string[]>类型

 

No

 

"owin.ResponseStatusCode"

 

包罗RFC 2616第6.1.1节中界说的HTTP响应状态代码的可选项。 默认值是200。

 

No

 

"owin.ResponseReasonPhrase"

 

包罗原因短语的可选字符串关联给定的状态码。 如果没有供给,则处事器应该凭据RFC 2616第6.1.1节的规定供给默认值

 

No

 

"owin.ResponseProtocol"

 

包罗协议名称和版本的可选字符串(例如“HTTP / 1.0”或“HTTP / 1.1”)。 如果没有供给,则“owin.RequestProtocol”键的值是默认值。

 

other data:

Required

 

Key Name

 

Value Description

 

Yes

 

"owin.CallCancelled"

 

指示请求是否被打消/中止

 

Yes

 

"owin.Version"

 

暗示OWIN版本的字符串“1.0”

 

二、Katana

三、Middleware中间件