.netcore KestrelServerLimits对象属性注释

KestrelServerLimits利用其丰富的属性对连接、请求和响应进行了相应的限制。KestrelServer提供了针对HTTP 2和HTTP3的支持,针对性的限制设置体现在KestrelServerLimits类型的Http2和Http3属性上。下表对定义在KestrelServerLimits类型中的这些属性所体现的限制约束进行了简单说明。

属性

含  义

MaxConcurrentConnections

最大并发连接。如果设置为Null(默认值),意味着不作限制。

MaxConcurrentUpgradedConnections

可升级连接(比如从HTTP升级到WebSocket)的最大并发数。如果设置为Null(默认值),意味着不作限制。

KeepAliveTimeout

连接保持活动状态的超时时间,默认值为130秒。

MaxRequestHeaderCount

请求携带的最大报头数量,默认值为100。

MaxRequestBufferSize

请求缓冲区最大容量,默认值为1,048,576字节(1M)。

MaxRequestHeadersTotalSize

请求携带报头总字节数,默认值为 32,768字节(32K)。

MaxRequestLineSize

对于HTTP 1.X来说就是请求的首行(Request Line)最大字节数。对于HTTP 2/3来说就是 :method, :scheme, :authority, and :path这些报头的总字节数。默认值为8,192 字节(8K)。

MaxRequestBodySize

请求主体最大字节数,默认值为30,000,000 字节(约28.6M)。如果设置为Null,意味着不作限制。

RequestHeadersTimeout

接收请求报头的超时时间,默认为30秒。

MinRequestBodyDataRate

请求主体内容最低传输率。

MaxResponseBufferSize

响应缓冲区最大容量,默认值为65,536(1M)。

MinResponseDataRate

响应最低传输率。

HTTP 2相关限制和约束的设置体现在KestrelServerLimits的Http2属性上,该属性返回如上所示的Http2Limits对象。下表对定义在Http2Limits类型中的这些属性所体现的限制约束进行了简单说明。

属性

含  义

MaxStreamsPerConnection

连接能够承载的流数量,默认值为100。

HeaderTableSize

HPACK报头压缩表的容量,默认值为4096。

MaxFrameSize

帧的最大字节数,有效值在[214~224 – 1]区间范围内,默认值为214(16384)。

MaxRequestHeaderFieldSize

最大请求报头(含报头名称)的最大字节数,默认值为214(16384)。

InitialConnectionWindowSize

连接的初始化请求主体缓存区的大小,有效值在[65535~231]区间范围内,默认为131072。

InitialStreamWindowSize

流的初始化请求主体缓存区的大小,有效值在[65535~231]区间范围内,默认为98304。

KeepAlivePingDelay

如果服务端在该属性设定的时间跨度内没有接收到来自客户端的有效帧,它会主动发送Ping请求确定客户端的是否保持活动状态,默认值为1秒。

KeepAlivePingTimeout

发送Ping请求的超时时间,如果客户端在该时限内一直处于为活动状态,当前连接将被关闭,默认值为20秒。

由于HTTP 2的多路复用是在同一个TCP连接上实现的,这样的实现并不“纯粹”,因为它不可能解决由于TCP的“拥塞控制”机制导致的“队头阻塞(Header-Of-Line Blocking)”问题。如果希望在得到并发支持的前提下还能在低延时上有更好的作为,就不得不抛弃TCP。目前被正式确定为HTTP 3的QUIC(Quick UDP Internet Connection)就将TCP替换成了UDP。如果KestrelServer支持HTTP 3,我们可以利用KestrelServerLimits的Http3属性返回的Http3Limits对象都限制约束进行针对性设置。Http3Limits只包含如下这个表示最大请求报头字节数的MaxRequestHeaderFieldSize属性,它的默认值为16384。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值