Spec-Zone.ru › Qt 5.14

Класс 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'.
  • Серверный push. Позволяет включить или отключить серверный push. Отправляется как параметр 'SETTINGS_ENABLE_PUSH' в начальный кадр 'SETTINGS'.

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

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

Примечание: Подробности о управлении потоком, серверном push и '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 по умолчанию.

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

  • Серверный push отключен
  • Сжатие строк Хаффмана включено
  • Размер окна для управления потоком на уровне соединения составляет 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, если серверный push был включен.

Примечание: По умолчанию QNetworkAccessManager отключает серверный push через кадр '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.14/qhttp2configuration.html

Spec-Zone.ru

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