QHttp2Configuration Class
La classe QHttp2Configuration permet de gérer les paramètres et les options HTTP/2. En savoir plus...
| En-tête : | #include <QHttp2Configuration> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake : | QT += network |
- Liste de tous les membres, y compris les membres hérités
- QHttp2Configuration fait partie de l'API de programmation réseau et des classes partagées implicitement.
Remarque : 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) |
Éléments non membres associés
| 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 et les paramètres HTTP/2 qu'QNetworkAccessManager utilisera pour envoyer des requêtes et traiter les 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 pair distant si nécessaire sous forme de trames « WINDOW_UPDATE » sur le flux avec l'identifiant 0.
- La taille de la fenêtre de réception du flux pour le contrôle de flux au niveau du flux. Elle est envoyée sous forme de 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 trame. Ce paramètre limite la charge utile maximale qu’une trame provenant du pair distant peut contenir. Envoyé par QNetworkAccessManager en tant que paramètre « SETTINGS_MAX_FRAME_SIZE » dans la trame « SETTINGS » initiale.
- La fonction « server push ». Permet d’activer ou de désactiver la fonction « server push ». Envoyé sous la forme du paramètre « SETTINGS_ENABLE_PUSH » dans la trame « SETTINGS » initiale.
La classe QHttp2Configuration contrôle également si l’algorithme de compression d’en-tête (HPACK) utilise en outre le codage de Huffman pour la compression des chaînes de caractères.
Remarque : la configuration doit être définie avant l’envoi de la première requête à un hôte donné (et donc avant l’établissement d’une session HTTP/2).
Remarque : des détails concernant le contrôle de flux, le « server push » et « SETTINGS » sont disponibles dans la RFC 7540. Les différents modes et paramètres de l’algorithme de compression HPACK sont décrits dans la RFC 7541.
Voir également QNetworkRequest::setHttp2Configuration(), QNetworkRequest::http2Configuration() et QNetworkAccessManager.
Documentation sur les fonctions membres
QHttp2Configuration::QHttp2Configuration()
La méthode `Default` crée un objet `QHttp2Configuration`.
Cette configuration présente les valeurs suivantes :
- La fonction « server push » est désactivée
- La compression de chaînes Huffman est activée
- La taille de la fenêtre pour le contrôle de flux au niveau de la connexion est de 65 535 octets
- La taille de la fenêtre pour le contrôle de flux au niveau du flux est de 65 535 octets
- La taille de trame est de 16 384 octets
- La taille maximale acceptée de la liste d'en-têtes est de 262 144 octets (256 Ko)
QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &other)
Recrée cette instance de `QHttp2Configuration`.
[noexcept] QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other)
Crée cette instance de `QHttp2Configuration` à partir de other
[noexcept] QHttp2Configuration::~QHttp2Configuration()
Destructeur.
bool QHttp2Configuration::huffmanCompressionEnabled() const
Renvoie « true » si le codage de Huffman est activé dans HPACK.
Voir également 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 peuvent contenir les trames HTTP/2. La valeur par défaut (initiale) est de 16 384 octets.
Voir également setMaxFrameSize().
bool QHttp2Configuration::serverPushEnabled() const
Renvoie « true » si la fonctionnalité « server push » était activée.
Remarque : par défaut, QNetworkAccessManager désactive la fonctionnalité « server push » 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 de 2 147 483 647 octets.
Voir également setSessionReceiveWindowSize().
void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)
Si enable vaut true, la compression HPACK compressera également les chaînes de caractères à l'aide du codage de Huffman. Activé par défaut.
Remarque : ce paramètre n'affecte que les trames « HEADERS » envoyées par QNetworkAccessManager.
Voir également huffmanCompressionEnabled.
[since 6.9] void QHttp2Configuration::setMaxConcurrentStreams(unsigned int value)
Définit value comme le nombre maximal de flux simultanés qui sera communiqué au pair lors de l'envoi d'une trame SETTINGS.
Cette fonction a été introduite dans Qt 6.9.
Voir également maxConcurrentStreams().
bool QHttp2Configuration::setMaxFrameSize(unsigned int size)
Définit la taille maximale de trame que l'QNetworkAccessManager e communiquera au serveur lors de l'envoi de sa trame SETTINGS initiale.
Remarque : bien que c size doive être comprise entre 16 384 et 16 777 215 inclus, la taille réelle de la charge utile dans les trames qui transportent une charge utile peut être inférieure à 16 384.
Renvoie true en cas de succès, false dans le cas contraire.
Voir également maxFrameSize().
void QHttp2Configuration::setServerPushEnabled(bool enable)
Si enable est true, un serveur distant peut potentiellement utiliser la fonctionnalité « 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. La valeur « size » ne peut pas être égale à 0 et ne doit pas dépasser 2 147 483 647 octets.
Renvoie true en cas de succès, false dans le cas contraire.
Voir également 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. La valeur « size » ne peut pas être égale à 0 et ne doit pas dépasser 2 147 483 647 octets.
Renvoie true en cas de succès, false dans le cas contraire.
Voir également 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 de 214748364 octets (voir RFC 7540).
Voir également setStreamReceiveWindowSize().
[noexcept] void QHttp2Configuration::swap(QHttp2Configuration &other)
Permet d'échanger cette configuration contre celle de other. Cette opération est très rapide et ne rencontre jamais d'échec.
[noexcept] QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&other)
La fonction « Move » attribue l'adresse other à celle-ci : QHttp2Configuration.
QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &other)
Attribue la copie de other à cette adresse QHttp2Configuration.
Personnes concernées non membres
[noexcept] bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
Renvoie « true » si lhs et rhs ne disposent pas du même ensemble de paramètres HTTP/2.
[noexcept] bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
Renvoie « true » si lhs et rhs possèdent 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.