PySide6.QtNetwork.QHttp2Configuration

class QHttp2Configuration

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

概要

方法

注意

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

详细描述

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

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)是否额外使用霍夫曼编码进行字符串压缩。

注意

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

注意

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

__init__()

默认构造一个QHttp2Configuration对象。

这样的配置具有以下值:

  • 服务器推送已禁用

  • 启用了霍夫曼字符串压缩

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

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

  • 帧大小为16384个八位字节

__init__(other)
Parameters:

其他QHttp2Configuration

复制构造这个 QHttp2Configuration

huffmanCompressionEnabled()
Return type:

布尔

如果启用了HPACK中的霍夫曼编码,则返回true

maxFrameSize()
Return type:

整数

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

另请参阅

setMaxFrameSize()

__ne__(rhs)
Parameters:

rhsQHttp2Configuration

Return type:

布尔

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

__eq__(rhs)
Parameters:

rhsQHttp2Configuration

Return type:

布尔

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

serverPushEnabled()
Return type:

布尔

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

注意

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

另请参阅

setServerPushEnabled

sessionReceiveWindowSize()
Return type:

整数

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

setHuffmanCompressionEnabled(enable)
Parameters:

enable – 布尔值

如果 enabletrue,HPACK 压缩将额外使用霍夫曼编码压缩字符串。默认启用。

注意

此参数仅影响QNetworkAccessManager发送的‘HEADERS’帧。

setMaxFrameSize(size)
Parameters:

size – int

Return type:

布尔

设置QNetworkAccessManager在发送初始SETTINGS帧时将向服务器通告的最大帧大小。

注意

虽然这个size需要在16384到16777215之间的范围内,但实际承载有效载荷的帧中的有效载荷大小可能小于16384。

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

另请参阅

maxFrameSize()

setServerPushEnabled(enable)
Parameters:

enable – 布尔值

如果 enabletrue,远程服务器可能会使用服务器推送提前发送响应。

另请参阅

serverPushEnabled

setSessionReceiveWindowSize(size)
Parameters:

size – int

Return type:

布尔

设置连接级流量控制的窗口大小。size 不能为0且不得超过2147483647字节。

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

setStreamReceiveWindowSize(size)
Parameters:

size – int

Return type:

布尔

设置流级别流量控制的窗口大小。size 不能为0且不得超过2147483647个八位字节。

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

streamReceiveWindowSize()
Return type:

整数

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

swap(other)
Parameters:

其他QHttp2Configuration

将此配置与other配置交换。