QHttp2Configuration Class
Die Klasse QHttp2Configuration steuert HTTP/2 Parameter und Einstellungen. Mehr...
Kopfzeile: | #include <QHttp2Configuration> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake: | QT += network |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QHttp2Configuration gehört zu Network Programming API und Implicitly Shared Classes.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
QHttp2Configuration() | |
QHttp2Configuration(const QHttp2Configuration &other) | |
QHttp2Configuration(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 & | operator=(QHttp2Configuration &&other) |
QHttp2Configuration & | operator=(const QHttp2Configuration &other) |
Verwandte Nicht-Mitglieder
bool | operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs) |
bool | operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs) |
Detaillierte Beschreibung
QHttp2Configuration steuert HTTP/2-Parameter und Einstellungen, die QNetworkAccessManager zum Senden von Anfragen und Verarbeiten von Antworten verwendet, wenn das HTTP/2-Protokoll aktiviert ist.
Zu den HTTP/2-Parametern, die QHttp2Configuration derzeit unterstützt, gehören:
- Die Größe des Sitzungsfensters für die Flusskontrolle auf Verbindungsebene. Wird bei Bedarf als "WINDOW_UPDATE"-Frames im Stream mit der Kennung 0 an eine Gegenstelle gesendet.
- Die Größe des Empfangsfensters des Streams für die Flusskontrolle auf Streamebene. Wird als Parameter "SETTINGS_INITIAL_WINDOW_SIZE" im anfänglichen SETTINGS-Frame gesendet, und bei Bedarf werden "WINDOW_UPDATE"-Frames an Streams gesendet, die QNetworkAccessManager öffnet.
- Die maximale Rahmengröße. Dieser Parameter begrenzt die maximale Nutzlast, die ein von der Gegenstelle kommender Frame haben kann. Wird von QNetworkAccessManager als 'SETTINGS_MAX_FRAME_SIZE'-Parameter im ersten 'SETTINGS'-Frame gesendet.
- Der Server-Push. Ermöglicht die Aktivierung oder Deaktivierung von Server-Push. Wird als 'SETTINGS_ENABLE_PUSH'-Parameter im ersten 'SETTINGS'-Frame gesendet.
Die Klasse QHttp2Configuration steuert auch, ob der Algorithmus zur Header-Kompression (HPACK) zusätzlich die Huffman-Kodierung für die String-Kompression verwendet.
Hinweis: Die Konfiguration muss gesetzt werden, bevor die erste Anfrage an einen bestimmten Host gesendet (und damit eine HTTP/2-Sitzung aufgebaut) wurde.
Siehe auch QNetworkRequest::setHttp2Configuration(), QNetworkRequest::http2Configuration(), und QNetworkAccessManager.
Dokumentation der Mitgliedsfunktionen
QHttp2Configuration::QHttp2Configuration()
Default konstruiert ein QHttp2Configuration-Objekt.
Eine solche Konfiguration hat die folgenden Werte:
- Server-Push ist deaktiviert
- Huffman-String-Kompression ist aktiviert
- Die Fenstergröße für die Flusskontrolle auf Verbindungsebene beträgt 65535 Oktette.
- Die Fenstergröße für die Flusskontrolle auf Streamebene beträgt 65535 Oktette.
- Die Rahmengröße beträgt 16384 Oktette
QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &other)
Kopiert diese QHttp2Configuration.
[noexcept]
QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other)
Verschieben-konstruiert diese QHttp2Configuration aus other
[noexcept]
QHttp2Configuration::~QHttp2Configuration()
Zerstörer.
bool QHttp2Configuration::huffmanCompressionEnabled() const
Gibt true
zurück, wenn die Huffman-Kodierung in HPACK aktiviert ist.
Siehe auch setHuffmanCompressionEnabled.
unsigned int QHttp2Configuration::maxFrameSize() const
Gibt die maximale Nutzdatengröße zurück, die HTTP/2-Frames haben können. Der Standardwert (Anfangswert) ist 16384 Oktette.
Siehe auch setMaxFrameSize().
bool QHttp2Configuration::serverPushEnabled() const
Gibt true zurück, wenn Server-Push aktiviert wurde.
Hinweis: Standardmäßig deaktiviert QNetworkAccessManager den Server-Push über den Rahmen 'SETTINGS'.
Siehe auch setServerPushEnabled.
unsigned int QHttp2Configuration::sessionReceiveWindowSize() const
Gibt die Fenstergröße für die Flusskontrolle auf Verbindungsebene zurück. Der Standardwert, den QNetworkAccessManager verwendet, ist 2147483647 octets.
Siehe auch setSessionReceiveWindowSize().
void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)
Wenn enable true
ist, komprimiert HPACK die Zeichenfolge zusätzlich mit der Huffman-Kodierung. Standardmäßig aktiviert.
Hinweis: Dieser Parameter betrifft nur 'HEADERS'-Frames, die QNetworkAccessManager sendet.
Siehe auch huffmanCompressionEnabled.
bool QHttp2Configuration::setMaxFrameSize(unsigned int size)
Legt die maximale Rahmengröße fest, die QNetworkAccessManager dem Server mitteilt, wenn es seinen ersten SETTINGS-Rahmen sendet.
Hinweis: Obwohl size in einem Bereich zwischen 16384 und 16777215 liegen muss, kann die tatsächliche Größe der Nutzdaten in Frames, die Nutzdaten enthalten, kleiner als 16384 sein.
Gibt bei Erfolg true
zurück, andernfalls false
.
Siehe auch maxFrameSize().
void QHttp2Configuration::setServerPushEnabled(bool enable)
Wenn enable true
ist, kann ein entfernter Server möglicherweise Server-Push verwenden, um Antworten im Voraus zu senden.
Siehe auch serverPushEnabled.
bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned int size)
Legt die Fenstergröße für die Flusskontrolle auf Verbindungsebene fest. size kann nicht 0 sein und darf 2147483647 Oktette nicht überschreiten.
Gibt bei Erfolg true
zurück, andernfalls false
.
Siehe auch sessionReceiveWindowSize.
bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned int size)
Legt die Fenstergröße für die Flusskontrolle auf Streamebene fest. size kann nicht 0 sein und darf 2147483647 Oktette nicht überschreiten.
Gibt bei Erfolg true
zurück, andernfalls false
.
Siehe auch streamReceiveWindowSize.
unsigned int QHttp2Configuration::streamReceiveWindowSize() const
Gibt die Fenstergröße für die Flusskontrolle auf Streamebene zurück. Der Standardwert, den QNetworkAccessManager verwendet, ist 214748364 octets (siehe RFC 7540).
Siehe auch setStreamReceiveWindowSize().
[noexcept]
void QHttp2Configuration::swap(QHttp2Configuration &other)
Tauscht diese Konfiguration mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
[noexcept]
QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&other)
Verschieben - ordnet other dieser QHttp2Configuration zu.
QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &other)
Kopieren Sie other auf diese QHttp2Configuration.
Verwandte Nicht-Mitglieder
[noexcept]
bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
Gibt true
zurück, wenn lhs und rhs nicht denselben Satz von HTTP/2-Parametern haben.
[noexcept]
bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
Gibt true
zurück, wenn lhs und rhs denselben Satz von HTTP/2-Parametern haben.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.