class QHttp2Configuration#

QHttp2Configuration 类控制 HTTP/2 参数和设置。 更多信息

摘要#

方法#

注意

此文档可能包含从 C++ 自动转换为 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细介绍#

QHttp2Configuration 控制在启用 HTTP/2 协议时,QNetworkAccessManager 将使用来发送请求和处理响应的 HTTP/2 参数和设置。

当前 QHttp2Configuration 支持的 HTTP/2 参数包括

  • 会在连接级别流控制中使用会话窗口大小。当需要在带有标识符 0 的流上以‘WINDOW_UPDATE’帧发送到远程对等体时,将发送此大小。

  • 流级别的流控制接收窗口大小。在初始的SETTINGS帧中以‘SETTINGS_INITIAL_WINDOW_SIZE’参数发送,并在需要时,在QNetworkAccessManager打开的流上发送‘WINDOW_UPDATE’帧。

  • 最大帧大小。此参数限制来自远程对等方的帧的最大有效载荷大小。由QNetworkAccessManager以初始‘SETTINGS’帧中的‘SETTINGS_MAX_FRAME_SIZE’参数发送。

  • 服务器推送。允许启用或禁用服务器推送。在初始‘SETTINGS’帧中以‘SETTINGS_ENABLE_PUSH’参数发送。

QHttp2Configuration类还控制是否在字符串压缩(HPACK)算法中额外使用Huffman编码。

注意

必须在向特定主机发送第一个请求之前(因此建立HTTP/2会话之前)设置配置。

注意

关于流控制、服务器推送和“SETTINGS”的详细信息,可以在RFC 7540中找到。HPACK压缩算法的不同模式和参数在RFC 7541中描述。

__init__()#

默认情况下构建一个QHttp2Configuration对象。

此类配置具有以下值

  • 服务器推送已禁用

  • Huffman字符串压缩已启用

  • 连接级别的流控制窗口大小为65535个八位字节

  • 流级别的流控制窗口大小为65535个八位字节

  • 帧大小为16384个八位字节

__init__(other)
参数:

otherQHttp2Configuration

复制构造此QHttp2Configuration

huffmanCompressionEnabled()#
返回类型:

bool

如果HPACK中的Huffman编码被启用,返回true

maxFrameSize()#
返回类型:

int

返回HTTP/2帧可以有的最大有效载荷大小。默认(初始)值是16384个八位字节。

另请参阅

setMaxFrameSize()

__ne__(rhs)#
参数:

rhsQHttp2Configuration

返回类型:

bool

如果 lhsrhs 没有相同的 HTTP/2 参数集合,则返回 true

__eq__(rhs)#
参数:

rhsQHttp2Configuration

返回类型:

bool

如果 lhsrhs 有相同的 HTTP/2 参数集合,则返回 true

serverPushEnabled()#
返回类型:

bool

如果开启了服务器推送,则返回 true。

注意

默认情况下,QNetworkAccessManager 通过“SETTINGS”帧禁用服务器推送。

另请参阅

setServerPushEnabled

sessionReceiveWindowSize()#
返回类型:

int

返回连接级别流控制的窗口大小。默认值 QNetworkAccessManager 将使用的为2147483647个八位字节。

setHuffmanCompressionEnabled(enable)#
参数:

enable – bool

如果 enabletrue,则 HPACK 压缩将使用 Huffman 编码进一步压缩字符串。默认启用。

注意

此参数仅影响 QNetworkAccessManager 发送的“HEADERS”帧。

setMaxFrameSize(size)#
参数:

size – int

返回类型:

bool

设置 QNetworkAccessManager 发送其初始 SETTINGS 帧时通知服务器的最大帧大小。

注意

虽然这个 size 必须在 16384 到 16777215 的范围内(含边界),但携带有效负载的帧的实际有效负载大小可能小于 16384。

成功则返回 true,否则返回 false

另请参阅

maxFrameSize()

setServerPushEnabled(enable)#
参数:

enable – bool

如果 enabletrue,远程服务器可以使用服务器推送来预先发送响应。

另请参阅

serverPushEnabled

setSessionReceiveWindowSize(size)#
参数:

size – int

返回类型:

bool

设置连接级别的流量控制的窗口大小。《code class="docutils literal notranslate">size 不能为 0,且必须不超过 2147483647 个八位。

成功则返回 true,否则返回 false

setStreamReceiveWindowSize(size)#
参数:

size – int

返回类型:

bool

设置流级别的流量控制的窗口大小。《code class="docutils literal notranslate">size 不能为 0,且必须不超过 2147483647 个八位。

成功则返回 true,否则返回 false

streamReceiveWindowSize()#
返回类型:

int

返回流级别的流量控制的窗口大小。默认值 QNetworkAccessManager 将使用 214748364 个八位(见 RFC 7540 )。

swap(other)#
参数:

otherQHttp2Configuration

other 配置交换。