QHttpServerConfiguration Class
La classe QHttpServerConfiguration permet de contrôler les paramètres du serveur. En savoir plus...
| En-tête : | #include <QHttpServerConfiguration> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS HttpServer) target_link_libraries(mytarget PRIVATE Qt6::HttpServer) |
| qmake : | QT += httpserver |
| Depuis : | Qt 6.9 |
Fonctions publiques
| QHttpServerConfiguration() | |
| QHttpServerConfiguration(const QHttpServerConfiguration &other) | |
| QHttpServerConfiguration(QHttpServerConfiguration &&other) | |
| ~QHttpServerConfiguration() | |
(since 6.10) QSpan<const std::pair<QHostAddress, int>> | blacklist() const |
(since 6.10) std::chrono::seconds | keepAliveTimeout() const |
(since 6.11) qint64 | maximumBodySize() const |
(since 6.12) quint32 | maximumConnections() const |
(since 6.12) quint32 | maximumConnectionsPerHost() const |
(since 6.11) qint64 | maximumHeaderFieldCount() const |
(since 6.11) qint64 | maximumHeaderFieldSize() const |
(since 6.11) qint64 | maximumTotalHeaderSize() const |
(since 6.11) qint64 | maximumUrlSize() const |
| quint32 | rateLimitPerSecond() const |
(since 6.10) void | setBlacklist(QSpan<const std::pair<QHostAddress, int>> subnetList) |
(since 6.10) void | setKeepAliveTimeout(std::chrono::seconds timeout) |
(since 6.11) void | setMaximumBodySize(qint64 maxSize) |
(since 6.12) void | setMaximumConnections(quint32 maxConnections) |
(since 6.12) void | setMaximumConnectionsPerHost(quint32 maxPerHost) |
(since 6.11) void | setMaximumHeaderFieldCount(qint64 maxSize) |
(since 6.11) void | setMaximumHeaderFieldSize(qint64 maxSize) |
(since 6.11) void | setMaximumTotalHeaderSize(qint64 maxSize) |
(since 6.11) void | setMaximumUrlSize(qint64 maxSize) |
| void | setRateLimitPerSecond(quint32 maxRequests) |
(since 6.10) void | setWhitelist(QSpan<const std::pair<QHostAddress, int>> subnetList) |
| void | swap(QHttpServerConfiguration &other) |
(since 6.10) QSpan<const std::pair<QHostAddress, int>> | whitelist() const |
| QHttpServerConfiguration & | operator=(QHttpServerConfiguration &&other) |
| QHttpServerConfiguration & | operator=(const QHttpServerConfiguration &other) |
Éléments non membres associés
| bool | operator!=(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs) |
| bool | operator==(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs) |
Documentation sur les fonctions membres
QHttpServerConfiguration::QHttpServerConfiguration()
La méthode `Default` crée un objet `QHttpServerConfiguration`.
Cette configuration présente les valeurs suivantes :
- La limitation de débit est désactivée.
- Le nombre maximal de connexions est désactivé.
- Le nombre maximal de connexions par hôte est désactivé.
- Le délai d'expiration Keep-alive est défini sur 15 secondes.
- La liste blanche est vide.
- La liste noire est vide.
- La taille maximale des URL est de 64 Ko.
- La taille totale maximale des en-têtes est de 64 KiB.
- La taille maximale d'un champ d'en-tête est de 48 KiB.
- Le nombre maximal de champs d'en-tête est de 128.
- La taille maximale du corps est de 32 Mio.
QHttpServerConfiguration::QHttpServerConfiguration(const QHttpServerConfiguration &other)
Copie et construit cette instance de `QHttpServerConfiguration`.
[constexpr noexcept default] QHttpServerConfiguration::QHttpServerConfiguration(QHttpServerConfiguration &&other)
Crée cette instance de `QHttpServerConfiguration` à partir de other
[noexcept] QHttpServerConfiguration::~QHttpServerConfiguration()
Destructeur.
[since 6.10] QSpan<const std::pair<QHostAddress, int>> QHttpServerConfiguration::blacklist() const
Renvoie la liste noire des sous-réseaux dont l'accès est refusé par QHttpServer.
Cette fonction a été introduite dans Qt 6.10.
Voir également setBlacklist().
[since 6.10] std::chrono::seconds QHttpServerConfiguration::keepAliveTimeout() const
Renvoie le délai d'expiration « keep-alive » utilisé par QHttpServer. Il s'agit de la durée pendant laquelle une connexion inactive peut rester ouverte avant d'expirer.
Cette fonction a été introduite dans Qt 6.10.
Voir également setKeepAliveTimeout().
[since 6.11] qint64 QHttpServerConfiguration::maximumBodySize() const
Renvoie la taille maximale du corps du message entrant acceptée par le serveur.
Cette fonction a été introduite dans Qt 6.11.
Voir également setMaximumBodySize().
[since 6.12] quint32 QHttpServerConfiguration::maximumConnections() const
Renvoie le nombre maximal de connexions simultanées acceptées par le serveur au total.
Renvoie 0 si la limite totale de connexions est désactivée.
Cette fonction a été introduite dans Qt 6.12.
Voir également ` setMaximumConnections()`.
[since 6.12] quint32 QHttpServerConfiguration::maximumConnectionsPerHost() const
Renvoie le nombre maximal de connexions simultanées par hôte qui seront acceptées par le serveur. L'hôte est identifié par l'adresse IP de la connexion TCP entrante.
Renvoie 0 si la limite de connexions par hôte est désactivée.
Cette fonction a été introduite dans Qt 6.12.
Voir également ` setMaximumConnectionsPerHost()`.
[since 6.11] qint64 QHttpServerConfiguration::maximumHeaderFieldCount() const
Renvoie le nombre maximal de champs d'en-tête entrants acceptés par le serveur.
Cette fonction a été introduite dans Qt 6.11.
Voir également ` setMaximumHeaderFieldCount()`.
[since 6.11] qint64 QHttpServerConfiguration::maximumHeaderFieldSize() const
Renvoie la taille maximale de chaque champ d'en-tête entrant accepté par le serveur.
Cette fonction a été introduite dans Qt 6.11.
Voir également setMaximumHeaderFieldSize().
[since 6.11] qint64 QHttpServerConfiguration::maximumTotalHeaderSize() const
Renvoie la taille maximale totale des en-têtes entrants acceptés par le serveur.
Cette fonction a été introduite dans Qt 6.11.
Voir également setMaximumTotalHeaderSize().
[since 6.11] qint64 QHttpServerConfiguration::maximumUrlSize() const
Renvoie la taille maximale de l'URL acceptée par le serveur.
Cette fonction a été introduite dans Qt 6.11.
Voir également setMaximumUrlSize().
quint32 QHttpServerConfiguration::rateLimitPerSecond() const
Renvoie le nombre maximal de requêtes entrantes par seconde et par adresse IP acceptées par le serveur.
Cette limite s'applique séparément à chaque adresse IP cliente. Renvoie 0 si la limitation de débit est désactivée.
Voir également setRateLimitPerSecond().
[since 6.10] void QHttpServerConfiguration::setBlacklist(QSpan<const std::pair<QHostAddress, int>> subnetList)
Définit subnetList comme liste noire des sous-réseaux.
Les adresses IP figurant dans cette liste se verront refuser l'accès à QHttpServer. La liste noire n'est active que lorsque la liste blanche est vide.
Par défaut, la liste noire est vide.
Cette fonction a été introduite dans Qt 6.10.
Voir également blacklist(), setWhitelist() et QHostAddress::parseSubnet().
[since 6.10] void QHttpServerConfiguration::setKeepAliveTimeout(std::chrono::seconds timeout)
Définit ` timeout ` comme délai d'expiration de la connexion active pour ` QHttpServer`.
Le délai d’expiration de la connexion détermine la durée pendant laquelle une connexion inactive reste ouverte avant d’être fermée.
Par défaut, ce délai est fixé à 15 secondes.
Cette fonction a été introduite dans Qt 6.10.
Voir aussi keepAliveTimeout().
[since 6.11] void QHttpServerConfiguration::setMaximumBodySize(qint64 maxSize)
Définit la taille maximale du corps de la requête que le serveur acceptera ( maxSize ). Si cette limite est dépassée, QHttpServer renverra le code d'état 413 « Content Too Large ». Si maxSize est égal à -1, aucune limite n'est appliquée.
La valeur par défaut est de 32 Mio.
Cette fonction a été introduite dans Qt 6.11.
Voir également maximumBodySize() et QHttpServerResponder::StatusCode.
[since 6.12] void QHttpServerConfiguration::setMaximumConnections(quint32 maxConnections)
Définit la limite de maxConnections sur le nombre total de connexions simultanées que le serveur acceptera. Si cette limite est atteinte, le serveur rejette les nouvelles connexions. Pour les connexions HTTP/1, QHttpServer renvoie la réponse « QHttpServerResponder::StatusCode::TooManyRequests » et ferme la connexion.
Si maxConnections est défini sur 0, la limite totale de connexions est désactivée.
Par défaut, cette limite est désactivée.
Cette fonction a été introduite dans Qt 6.12.
Voir également maximumConnections() et QHttpServerResponder::StatusCode.
[since 6.12] void QHttpServerConfiguration::setMaximumConnectionsPerHost(quint32 maxPerHost)
Définit la limite de connexions simultanées par hôte sur maxPerHost qui seront acceptées par QHttpServer. Si cette limite est dépassée, QHttpServer renverra la réponse « QHttpServerResponder::StatusCode::TooManyRequests ».
Si maxPerHost est défini sur 0, la limite de connexions par hôte est désactivée. Cela est recommandé en cas d’exécution derrière un proxy inverse, car toutes les sockets entrantes sembleront provenir du proxy inverse.
Lorsque la limite de connexions par hôte est atteinte, les connexions HTTP/1 sont fermées avec une réponse 429 (Too Many Requests). Pour les connexions SSL, la connexion est fermée lorsque la limite est dépassée.
Par défaut, cette option est désactivée.
Cette fonction a été introduite dans Qt 6.12.
Voir également maximumConnectionsPerHost() et QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaximumHeaderFieldCount(qint64 maxSize)
Définit la valeur « maxSize » comme nombre maximal de champs d’en-tête que le serveur acceptera dans une requête. Si cette limite est dépassée, QHttpServer renverra le code d’état 431 « Request Header Fields Too Large ». Si la valeur de « maxSize » est -1, aucune limite n’est appliquée.
La valeur par défaut est 128.
Cette fonction a été introduite dans Qt 6.11.
Voir également maximumHeaderFieldCount() et QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaximumHeaderFieldSize(qint64 maxSize)
Définit « maxSize » comme taille maximale de tout champ d'en-tête que le serveur acceptera dans une requête. Si cette limite est dépassée, QHttpServer renverra le code d'état 431 « Request Header Fields Too Large ». Si la valeur de « maxSize » est -1, aucune limite n'est appliquée.
La valeur par défaut est de 48 Ko.
Cette fonction a été introduite dans Qt 6.11.
Voir également maximumHeaderFieldSize() et QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaximumTotalHeaderSize(qint64 maxSize)
Définit la valeur « maxSize » comme taille totale maximale des champs d'en-tête que le serveur acceptera dans une requête. Si cette limite est dépassée, QHttpServer renverra le code d'état 431 « Request Header Fields Too Large ». Si la valeur de « maxSize » est -1, aucune limite n'est appliquée.
La valeur par défaut est 64 KiB.
Cette fonction a été introduite dans Qt 6.11.
Voir également maximumTotalHeaderSize() et QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaximumUrlSize(qint64 maxSize)
Définit la valeur « maxSize » comme taille maximale de l’URL de la requête que le serveur acceptera. Si cette limite est dépassée, QHttpServer renverra le code d’état 414 « Request-URI Too Long ». Si la valeur de maxSize est -1, il n’y a pas de limite.
La valeur par défaut est 64 Ko.
Cette fonction a été introduite dans Qt 6.11.
Voir également maximumUrlSize() et QHttpServerResponder::StatusCode.
void QHttpServerConfiguration::setRateLimitPerSecond(quint32 maxRequests)
Définit maxRequests comme le nombre maximal de requêtes entrantes par seconde et par adresse IP qui seront acceptées par QHttpServer. Si cette limite est dépassée, QHttpServer renverra la réponse QHttpServerResponder::StatusCode::TooManyRequests.
Cette limite s'applique séparément à chaque adresse IP client. Une valeur de 0 désactive la limitation de débit.
Par défaut, la limitation de débit est désactivée.
Voir également rateLimitPerSecond() et QHttpServerResponder::StatusCode.
[since 6.10] void QHttpServerConfiguration::setWhitelist(QSpan<const std::pair<QHostAddress, int>> subnetList)
Définit subnetList comme liste blanche des sous-réseaux autorisés.
Lorsque la liste n'est pas vide, seules les adresses IP figurant dans cette liste seront autorisées par QHttpServer. La liste blanche a priorité sur la liste noire.
Chaque sous-réseau est représenté par une paire composée de :
- Une adresse IP de base de type QHostAddress.
- Une longueur de préfixe CIDR de type int, qui définit le masque de sous-réseau.
Pour n’autoriser qu’une adresse IP spécifique, utilisez une longueur de préfixe de 32 pour IPv4 (par exemple, "192.168.1.100/32") ou de 128 pour IPv6 (par exemple, "2001:db8::1/128").
Par défaut, la liste blanche est vide.
Cette fonction a été introduite dans Qt 6.10.
Voir également whitelist(), setBlacklist() et QHostAddress::parseSubnet().
[noexcept] void QHttpServerConfiguration::swap(QHttpServerConfiguration &other)
Permet d'échanger cette configuration contre celle de other. Cette opération est très rapide et ne rencontre jamais de problème.
[since 6.10] QSpan<const std::pair<QHostAddress, int>> QHttpServerConfiguration::whitelist() const
Renvoie la liste blanche des sous-réseaux autorisés par QHttpServer.
Lorsque la liste blanche n'est pas vide, seules les adresses appartenant aux sous-réseaux renvoyés sont autorisées. La liste blanche a priorité sur la liste noire.
Par défaut, la liste blanche est vide.
Cette fonction a été introduite dans Qt 6.10.
Voir aussi setWhitelist().
[noexcept] QHttpServerConfiguration &QHttpServerConfiguration::operator=(QHttpServerConfiguration &&other)
La commande « Move » affecte l'adresse other à celle-ci : QHttpServerConfiguration.
QHttpServerConfiguration &QHttpServerConfiguration::operator=(const QHttpServerConfiguration &other)
Attribue la copie de other à cette adresse QHttpServerConfiguration.
Personnes concernées non membres
[noexcept] bool operator!=(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs)
Renvoie « true » si « lhs » et « rhs » ne possèdent pas le même ensemble de paramètres de configuration.
[noexcept] bool operator==(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs)
Renvoie « true » si lhs et rhs possèdent le même ensemble de paramètres de configuration.
© 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.