Spec-Zone.ru › Qt 5.15

Класс QHttp2Configuration

Класс QHttp2Configuration управляет параметрами и настройками HTTP/2. Подробнее...

Заголовок: #include <QHttp2Configuration>
qmake: QT += network
С версии: Qt 5.14

Этот класс был представлен в Qt 5.14.

  • Список всех членов, включая наследуемые

Примечание: Все функции в этом классе являются перевхоимо-безопасными.

Публичные функции

QHttp2Configuration(QHttp2Configuration &&other)
QHttp2Configuration(const QHttp2Configuration &other)
QHttp2Configuration()
QHttp2Configuration & operator=(QHttp2Configuration &&other)
QHttp2Configuration & operator=(const QHttp2Configuration &other)
~QHttp2Configuration()
bool huffmanCompressionEnabled() const
unsigned int maxFrameSize() const
bool serverPushEnabled() const
unsigned int sessionReceiveWindowSize() const
void setHuffmanCompressionEnabled(bool enable)
bool setMaxFrameSize(unsigned int size)
void setServerPushEnabled(bool enable)
bool setSessionReceiveWindowSize(unsigned int size)
bool setStreamReceiveWindowSize(unsigned int size)
unsigned int streamReceiveWindowSize() const
void swap(QHttp2Configuration &other)

Подробное описание

QHttp2Configuration управляет параметрами и настройками HTTP/2, которые QNetworkAccessManager будет использовать для отправки запросов и обработки ответов, когда включен протокол HTTP/2.

Параметры HTTP/2, которые в настоящее время поддерживает QHttp2Configuration:

  • Размер окна сессии для управления потоком на уровне соединения. Будет отправлен удалённому узлу при необходимости в виде фреймов 'WINDOW_UPDATE' на потоке с идентификатором 0.
  • Размер окна приема потока для управления потоком на уровне потока. Отправляется как параметр 'SETTINGS_INITIAL_WINDOW_SIZE' в начальном фрейме SETTINGS и, при необходимости, будут отправлены фреймы 'WINDOW_UPDATE' на потоки, которые открывает QNetworkAccessManager.
  • Максимальный размер фрейма. Этот параметр ограничивает максимальную нагрузку фрейма, который может поступить от удалённого узла. Отправляется QNetworkAccessManager как параметр 'SETTINGS_MAX_FRAME_SIZE' в начальном фрейме 'SETTINGS'.
  • Серверная отправка. Позволяет включить или выключить серверную отправку. Отправляется как параметр 'SETTINGS_ENABLE_PUSH' в начальном фрейме 'SETTINGS'.

Класс QHttp2Configuration также управляет тем, использует ли алгоритм сжатия заголовков (HPACK) дополнительное кодирование Хаффмана для сжатия строк.

Примечание: Настройка должна быть установлена до отправки первого запроса на данный хост (и, следовательно, установления сессии HTTP/2).

Примечание: Подробности о управлении потоком, серверной отправке и 'SETTINGS' можно найти в RFC 7540. Различные режимы и параметры алгоритма сжатия HPACK описаны в RFC 7541.

См. также QNetworkRequest::setHttp2Configuration(), QNetworkRequest::http2Configuration(), и QNetworkAccessManager.

Документация по функциям-членам

QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other)

Перемещающее конструктор QHttp2Configuration из other

QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &other)

Копирующий конструктор QHttp2Configuration.

QHttp2Configuration::QHttp2Configuration()

Конструктор по умолчанию объекта QHttp2Configuration.

Такая конфигурация имеет следующие значения:

  • Серверная отправка отключена
  • Сжатие строк Хаффмана включено
  • Размер окна для управления потоком на уровне соединения составляет 65535 октетов
  • Размер окна приема потока составляет 65535 октетов
  • Размер фрейма составляет 16384 октетов

QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&other)

Перемещающее присваивание для QHttp2Configuration.

QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &other)

Копирующее присваивание для QHttp2Configuration.

QHttp2Configuration::~QHttp2Configuration()

Деструктор.

bool QHttp2Configuration::huffmanCompressionEnabled() const

Возвращает true если кодирование Хаффмана в HPACK включено.

См. также setHuffmanCompressionEnabled.

unsigned int QHttp2Configuration::maxFrameSize() const

Максимальный размер полезной нагрузки фреймов HTTP/2. Значение по умолчанию (начальное) — 16384 октета.

См. также setMaxFrameSize().

bool QHttp2Configuration::serverPushEnabled() const

Возвращает true, если серверная отправка включена.

Примечание: По умолчанию QNetworkAccessManager отключает серверную отправку через фрейм 'SETTINGS'.

См. также setServerPushEnabled.

unsigned int QHttp2Configuration::sessionReceiveWindowSize() const

Возвращает размер окна для управления потоком на уровне соединения. Значение по умолчанию, которое будет использовать QNetworkAccessManager — 2147483647 октетов.

См. также setSessionReceiveWindowSize().

void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)

Если enable равно true, сжатие HPACK дополнительно сжимает строки с помощью кодирования Хаффмана. Включено по умолчанию.

Примечание: Этот параметр влияет только на фреймы 'HEADERS', которые отправляет QNetworkAccessManager.

См. также huffmanCompressionEnabled.

bool QHttp2Configuration::setMaxFrameSize(unsigned int size)

Устанавливает максимальный размер фрейма, который QNetworkAccessManager будет рекламировать серверу при отправке начального фрейма SETTINGS.

Примечание: Хотя этот size должен быть в диапазоне от 16384 до 16777215 включительно, фактический размер полезной нагрузки во фреймах, которые несут полезную нагрузку, может быть меньше 16384.

См. также maxFrameSize().

void QHttp2Configuration::setServerPushEnabled(bool enable)

Если enable равно true, удалённый сервер потенциально может использовать серверное отображение для отправки ответов заранее.

См. также serverPushEnabled.

bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned int size)

Устанавливает размер окна для управления потоком на уровне соединения. size не может быть 0 и не должно превышать 2147483647 октетов.

См. также sessionReceiveWindowSize.

bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned int size)

Устанавливает размер окна для управления потоком на уровне потока. size не может быть 0 и не должно превышать 2147483647 октетов.

См. также streamReceiveWindowSize.

unsigned int QHttp2Configuration::streamReceiveWindowSize() const

Возвращает размер окна для управления потоком на уровне потока. Значение по умолчанию, которое будет использовать QNetworkAccessManager, составляет 21474836 октетов.

См. также setStreamReceiveWindowSize().

void QHttp2Configuration::swap(QHttp2Configuration &other)

Меняет местами эту конфигурацию с конфигурацией other.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qhttp2configuration.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API