Sur cette page

QHttp2Configuration Class

La classe QHttp2Configuration contrôle les paramètres et les réglages HTTP/2. Plus d'informations...

En-tête : #include <QHttp2Configuration>
CMake : find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake : QT += network

Note : Toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

QHttp2Configuration()
QHttp2Configuration(const QHttp2Configuration &other)
QHttp2Configuration(QHttp2Configuration &&other)
~QHttp2Configuration()
bool huffmanCompressionEnabled() const
(since 6.9) unsigned int maxConcurrentStreams() const
unsigned int maxFrameSize() const
bool serverPushEnabled() const
unsigned int sessionReceiveWindowSize() const
void setHuffmanCompressionEnabled(bool enable)
(since 6.9) void setMaxConcurrentStreams(unsigned int value)
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)
bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)

Description détaillée

QHttp2Configuration contrôle les paramètres HTTP/2 que QNetworkAccessManager utilisera pour envoyer des demandes et traiter des réponses lorsque le protocole HTTP/2 est activé.

Les paramètres HTTP/2 actuellement pris en charge par QHttp2Configuration sont les suivants :

  • La taille de la fenêtre de session pour le contrôle de flux au niveau de la connexion. Elle sera envoyée à un homologue distant si nécessaire sous la forme de trames "WINDOW_UPDATE" sur le flux avec un identifiant 0.
  • La taille de la fenêtre de réception du flux pour le contrôle de flux au niveau du flux. Envoyée en tant que paramètre 'SETTINGS_INITIAL_WINDOW_SIZE' dans la trame SETTINGS initiale et, si nécessaire, des trames 'WINDOW_UPDATE' seront envoyées sur les flux ouverts par QNetworkAccessManager.
  • La taille maximale de la trame. Ce paramètre limite la charge utile maximale d'une trame provenant de l'homologue distant. Envoyé par QNetworkAccessManager en tant que paramètre 'SETTINGS_MAX_FRAME_SIZE' dans la trame initiale 'SETTINGS'.
  • La poussée du serveur. Permet d'activer ou de désactiver le server push. Envoyé comme paramètre 'SETTINGS_ENABLE_PUSH' dans le cadre 'SETTINGS' initial.

La classe QHttp2Configuration contrôle également si l'algorithme de compression d'en-tête (HPACK) utilise en plus le codage de Huffman pour la compression des chaînes.

Remarque : la configuration doit être définie avant que la première requête ne soit envoyée à un hôte donné (et donc qu'une session HTTP/2 ne soit établie).

Note : Des détails sur le contrôle de flux, la poussée du serveur et les "PARAMÈTRES" peuvent être trouvés dans la RFC 7540. Les différents modes et paramètres de l'algorithme de compression HPACK sont décrits dans le RFC 7541.

Voir aussi QNetworkRequest::setHttp2Configuration(), QNetworkRequest::http2Configuration(), et QNetworkAccessManager.

Documentation des fonctions membres

QHttp2Configuration::QHttp2Configuration()

Default construit un objet QHttp2Configuration.

Une telle configuration a les valeurs suivantes :

  • Server push est désactivé
  • La compression de la chaîne de Huffman est activée
  • La taille de la fenêtre pour le contrôle de flux au niveau de la connexion est de 65535 octets.
  • La taille de la fenêtre pour le contrôle de flux au niveau du flux est de 65535 octets.
  • La taille de la trame est de 16384 octets

QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &other)

Copie-construit cette QHttp2Configuration.

[noexcept] QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other)

Move-construit cette QHttp2Configuration à partir de other

[noexcept] QHttp2Configuration::~QHttp2Configuration()

Destructeur.

bool QHttp2Configuration::huffmanCompressionEnabled() const

Renvoie true si le codage de Huffman dans HPACK est activé.

Voir aussi setHuffmanCompressionEnabled.

[since 6.9] unsigned int QHttp2Configuration::maxConcurrentStreams() const

Renvoie le nombre maximal de flux simultanés.

Cette fonction a été introduite dans Qt 6.9.

Voir aussi setMaxConcurrentStreams().

unsigned int QHttp2Configuration::maxFrameSize() const

Renvoie la taille maximale de la charge utile que les trames HTTP/2 peuvent avoir. La valeur par défaut (initiale) est de 16384 octets.

Voir aussi setMaxFrameSize().

bool QHttp2Configuration::serverPushEnabled() const

Renvoie un résultat positif si la fonction "push" du serveur a été activée.

Note : Par défaut, QNetworkAccessManager désactive le push serveur via le cadre 'SETTINGS'.

Voir aussi setServerPushEnabled.

unsigned int QHttp2Configuration::sessionReceiveWindowSize() const

Renvoie la taille de la fenêtre pour le contrôle de flux au niveau de la connexion. La valeur par défaut utilisée par QNetworkAccessManager est 2147483647 octets.

Voir aussi setSessionReceiveWindowSize().

void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)

Si enable est true, la compression HPACK compressera également la chaîne en utilisant le codage de Huffman. Activé par défaut.

Remarque : ce paramètre n'affecte que les trames 'HEADERS' envoyées par QNetworkAccessManager.

Voir aussi huffmanCompressionEnabled.

[since 6.9] void QHttp2Configuration::setMaxConcurrentStreams(unsigned int value)

Définit value comme le nombre maximum de flux simultanés qui seront annoncés à l'homologue lors de l'envoi de la trame SETTINGS.

Cette fonction a été introduite dans Qt 6.9.

Voir aussi maxConcurrentStreams().

bool QHttp2Configuration::setMaxFrameSize(unsigned int size)

Définit la taille maximale de la trame que QNetworkAccessManager annoncera au serveur lors de l'envoi de sa trame SETTINGS initiale.

Note : Bien que cette adresse size doive être comprise entre 16384 et 16777215 inclus, la taille réelle de la charge utile dans les trames qui en contiennent peut être inférieure à 16384.

Retourne true en cas de succès, false dans le cas contraire.

Voir aussi maxFrameSize().

void QHttp2Configuration::setServerPushEnabled(bool enable)

Si enable est true, un serveur distant peut potentiellement utiliser la fonction "server push" pour envoyer des réponses à l'avance.

Voir également serverPushEnabled.

bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned int size)

Définit la taille de la fenêtre pour le contrôle de flux au niveau de la connexion. size ne peut pas être 0 et ne doit pas dépasser 2147483647 octets.

Retourne true en cas de succès, false dans le cas contraire.

Voir aussi sessionReceiveWindowSize.

bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned int size)

Définit la taille de la fenêtre pour le contrôle de flux au niveau du flux. size ne peut pas être 0 et ne doit pas dépasser 2147483647 octets.

Retourne true en cas de succès, false dans le cas contraire.

Voir aussi streamReceiveWindowSize.

unsigned int QHttp2Configuration::streamReceiveWindowSize() const

Renvoie la taille de la fenêtre pour le contrôle de flux au niveau du flux. La valeur par défaut utilisée par QNetworkAccessManager est 214748364 octets (voir RFC 7540).

Voir aussi setStreamReceiveWindowSize().

[noexcept] void QHttp2Configuration::swap(QHttp2Configuration &other)

Remplace cette configuration par other. Cette opération est très rapide et n'échoue jamais.

[noexcept] QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&other)

Move-assigns other to this QHttp2Configuration.

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

Copie-assignation de other à ce QHttp2Configuration.

Non-membres apparentés

[noexcept] bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)

Renvoie true si lhs et rhs n'ont pas le même ensemble de paramètres HTTP/2.

[noexcept] bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)

Renvoie true si lhs et rhs ont le même ensemble de paramètres HTTP/2.

© 2026 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.