QHttp2Configuration Class
La clase QHttp2Configuration controla los parámetros y configuraciones de HTTP/2. Más...
| Cabecera: | #include <QHttp2Configuration> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network)target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
- Lista de todos los miembros, incluyendo los heredados
- QHttp2Configuration es parte de la API de Programación de Redes y Clases Implícitamente Compartidas.
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| 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) |
No miembros relacionados
| bool | operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs) |
| bool | operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs) |
Descripción Detallada
QHttp2Configuration controla los parámetros y configuraciones HTTP/2 que QNetworkAccessManager utilizará para enviar peticiones y procesar respuestas cuando el protocolo HTTP/2 esté habilitado.
Los parámetros HTTP/2 que QHttp2Configuration soporta actualmente incluyen:
- El tamaño de ventana de sesión para el control de flujo a nivel de conexión. Se enviará a un peer remoto cuando sea necesario como tramas 'WINDOW_UPDATE' en el flujo con un identificador 0.
- El tamaño de la ventana de recepción del flujo para el control de flujo a nivel de flujo. Se envía como parámetro 'SETTINGS_INITIAL_WINDOW_SIZE' en la trama inicial SETTINGS y, cuando sea necesario, se enviarán tramas 'WINDOW_UPDATE' en los flujos que abra QNetworkAccessManager.
- El tamaño máximo de la trama. Este parámetro limita la carga útil máxima que puede tener una trama procedente del peer remoto. Enviado por QNetworkAccessManager como parámetro 'SETTINGS_MAX_FRAME_SIZE' en la trama inicial 'SETTINGS'.
- El push del servidor. Permite activar o desactivar el push del servidor. Enviado como parámetro 'SETTINGS_ENABLE_PUSH' en la trama inicial 'SETTINGS'.
La clase QHttp2Configuration también controla si el algoritmo de compresión de cabecera (HPACK) utiliza adicionalmente la codificación Huffman para la compresión de cadenas.
Nota: La configuración debe establecerse antes de que se envíe la primera petición a un determinado host (y por tanto se establezca una sesión HTTP/2).
Véase también QNetworkRequest::setHttp2Configuration(), QNetworkRequest::http2Configuration(), y QNetworkAccessManager.
Documentación de las funciones miembro
QHttp2Configuration::QHttp2Configuration()
Default construye un objeto QHttp2Configuration.
Dicha configuración tiene los siguientes valores
- Server push está deshabilitado
- La compresión de cadenas Huffman está activada
- El tamaño de ventana para el control de flujo a nivel de conexión es de 65535 octetos
- El tamaño de ventana para el control de flujo a nivel de flujo es de 65535 octetos
- El tamaño de la trama es de 16384 octetos
QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &other)
Copia-construye esta QHttp2Configuration.
[noexcept] QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other)
Mueve-construye esta QHttp2Configuration desde other
[noexcept] QHttp2Configuration::~QHttp2Configuration()
Destructor.
bool QHttp2Configuration::huffmanCompressionEnabled() const
Devuelve true si la codificación Huffman en HPACK está activada.
Véase también setHuffmanCompressionEnabled.
[since 6.9] unsigned int QHttp2Configuration::maxConcurrentStreams() const
Devuelve el número máximo de flujos concurrentes.
Esta función se introdujo en Qt 6.9.
Véase también setMaxConcurrentStreams().
unsigned int QHttp2Configuration::maxFrameSize() const
Devuelve el tamaño máximo de carga que pueden tener las tramas HTTP/2. El valor por defecto (inicial) es 16384 octetos.
Véase también setMaxFrameSize().
bool QHttp2Configuration::serverPushEnabled() const
Devuelve true si se ha habilitado el push de servidor.
Nota: Por defecto, QNetworkAccessManager desactiva server push a través del marco 'SETTINGS'.
Véase también setServerPushEnabled.
unsigned int QHttp2Configuration::sessionReceiveWindowSize() const
Devuelve el tamaño de la ventana para el control de flujo a nivel de conexión. El valor por defecto que utilizará QNetworkAccessManager es 2147483647 octetos.
Véase también setSessionReceiveWindowSize().
void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)
Si enable es true, la compresión HPACK comprimirá adicionalmente la cadena utilizando la codificación Huffman. Activado por defecto.
Nota: Este parámetro sólo afecta a las tramas 'HEADERS' que envía QNetworkAccessManager.
Véase también huffmanCompressionEnabled.
[since 6.9] void QHttp2Configuration::setMaxConcurrentStreams(unsigned int value)
Establece value como el número máximo de flujos concurrentes que se anunciarán al peer al enviar la trama SETTINGS.
Esta función se introdujo en Qt 6.9.
Véase también maxConcurrentStreams().
bool QHttp2Configuration::setMaxFrameSize(unsigned int size)
Establece el tamaño máximo de trama que QNetworkAccessManager anunciará al servidor cuando envíe su trama inicial SETTINGS.
Nota: Aunque se requiere que este size esté dentro de un rango entre 16384 y 16777215 inclusive, el tamaño real de la carga en las tramas que llevan carga puede ser inferior a 16384.
Devuelve true en caso de éxito, false en caso contrario.
Véase también maxFrameSize().
void QHttp2Configuration::setServerPushEnabled(bool enable)
Si enable es true, un servidor remoto puede potencialmente utilizar server push para enviar respuestas por adelantado.
Véase también serverPushEnabled.
bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned int size)
Establece el tamaño de la ventana para el control de flujo a nivel de conexión. size no puede ser 0 y no debe superar los 2147483647 octetos.
Devuelve true en caso de éxito, false en caso contrario.
Véase también sessionReceiveWindowSize.
bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned int size)
Establece el tamaño de la ventana para el control de flujo a nivel de flujo. size no puede ser 0 y no debe exceder 2147483647 octetos.
Devuelve true en caso de éxito, false en caso contrario.
Véase también streamReceiveWindowSize.
unsigned int QHttp2Configuration::streamReceiveWindowSize() const
Devuelve el tamaño de ventana para el control de flujo a nivel de flujo. El valor por defecto que QNetworkAccessManager utilizará es 214748364 octetos (ver RFC 7540).
Véase también setStreamReceiveWindowSize().
[noexcept] void QHttp2Configuration::swap(QHttp2Configuration &other)
Intercambia esta configuración con other. Esta operación es muy rápida y nunca falla.
[noexcept] QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&other)
Mover-asigna other a este QHttp2Configuration.
QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &other)
Copia-asigna other a este QHttp2Configuration.
Relacionados No miembros
[noexcept] bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
Devuelve true si lhs y rhs no tienen el mismo conjunto de parámetros HTTP/2.
[noexcept] bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
Devuelve true si lhs y rhs tienen el mismo conjunto de parámetros 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.