QHttpServerConfiguration Class
QHttpServerConfiguration 클래스는 서버 매개변수를 제어합니다. 더 보기...
| 헤더: | #include <QHttpServerConfiguration> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS HttpServer) target_link_libraries(mytarget PRIVATE Qt6::HttpServer) |
| qmake: | QT += httpserver |
| 다음부터: | Qt 6.9부터 |
공개 함수
| 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) |
관련 비멤버
| bool | operator!=(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs) |
| bool | operator==(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs) |
멤버 함수 문서
QHttpServerConfiguration::QHttpServerConfiguration()
Default는 QHttpServerConfiguration 객체를 생성합니다.
이러한 구성에는 다음과 같은 값이 포함됩니다:
- 속도 제한이 비활성화되어 있습니다.
- 최대 연결 수는 비활성화되어 있습니다.
- 호스트당 최대 연결 수는 비활성화되어 있습니다.
- Keep-alive 타임아웃은 15초로 설정됩니다.
- 화이트리스트는 비어 있습니다.
- 블랙리스트는 비어 있습니다.
- 최대 URL 크기는 64 KiB입니다.
- 헤더의 최대 총 크기는 64 KiB입니다.
- 헤더 필드의 최대 크기는 48 KiB입니다.
- 헤더 필드의 최대 개수는 128개입니다.
- 본문 크기의 최대값은 32 MiB입니다.
QHttpServerConfiguration::QHttpServerConfiguration(const QHttpServerConfiguration &other)
이 QHttpServerConfiguration을 복사하여 생성합니다.
[constexpr noexcept default] QHttpServerConfiguration::QHttpServerConfiguration(QHttpServerConfiguration &&other)
이 QHttpServerConfiguration을 다음에서 생성합니다. other
[noexcept] QHttpServerConfiguration::~QHttpServerConfiguration()
소멸자.
[since 6.10] QSpan<const std::pair<QHostAddress, int>> QHttpServerConfiguration::blacklist() const
QHttpServer 에 의해 액세스가 거부된 서브넷의 블랙리스트를 반환합니다.
이 함수는 Qt 6.10에서 도입되었습니다.
setBlacklist()도 참조하십시오 .
[since 6.10] std::chrono::seconds QHttpServerConfiguration::keepAliveTimeout() const
QHttpServer 에서 사용하는 키프-얼라이브(keep-alive) 타임아웃을 반환합니다. 이는 유휴 연결이 타임아웃되기 전까지 열려 있을 수 있는 시간입니다.
이 함수는 Qt 6.10에서 도입되었습니다.
setKeepAliveTimeout()도 참조하십시오 .
[since 6.11] qint64 QHttpServerConfiguration::maximumBodySize() const
서버가 허용하는 수신 본문의 최대 크기를 반환합니다.
이 함수는 Qt 6.11에서 도입되었습니다.
setMaximumBodySize()도 참조하십시오 .
[since 6.12] quint32 QHttpServerConfiguration::maximumConnections() const
서버가 허용하는 총 동시 연결 수 중 최대값을 반환합니다.
전체 연결 제한이 비활성화된 경우 0을 반환합니다.
이 함수는 Qt 6.12에서 도입되었습니다.
setMaximumConnections()도 참조하십시오 .
[since 6.12] quint32 QHttpServerConfiguration::maximumConnectionsPerHost() const
서버가 허용하는 호스트당 최대 동시 연결 수를 반환합니다. 호스트는 들어오는 TCP 연결의 IP 주소로 식별됩니다.
호스트별 연결 제한이 비활성화된 경우 0을 반환합니다.
이 함수는 Qt 6.12에서 도입되었습니다.
setMaximumConnectionsPerHost()도 참조하십시오 .
[since 6.11] qint64 QHttpServerConfiguration::maximumHeaderFieldCount() const
서버가 허용하는 수신 헤더 필드의 최대 개수를 반환합니다.
이 함수는 Qt 6.11에서 도입되었습니다.
setMaximumHeaderFieldCount()도 참조하십시오 .
[since 6.11] qint64 QHttpServerConfiguration::maximumHeaderFieldSize() const
서버가 허용하는 각 수신 헤더 필드의 최대 크기를 반환합니다.
이 함수는 Qt 6.11에서 도입되었습니다.
setMaximumHeaderFieldSize()도 참조하십시오 .
[since 6.11] qint64 QHttpServerConfiguration::maximumTotalHeaderSize() const
서버가 허용하는 전체 수신 헤더의 최대 크기를 반환합니다.
이 함수는 Qt 6.11에서 도입되었습니다.
setMaximumTotalHeaderSize()도 참조하십시오 .
[since 6.11] qint64 QHttpServerConfiguration::maximumUrlSize() const
서버가 허용하는 URL의 최대 크기를 반환합니다.
이 함수는 Qt 6.11에서 도입되었습니다.
setMaximumUrlSize()도 참조하십시오 .
quint32 QHttpServerConfiguration::rateLimitPerSecond() const
서버가 IP당 초당 수락하는 최대 요청 수를 반환합니다.
이 제한은 각 클라이언트 IP 주소마다 별도로 적용됩니다. 속도 제한이 비활성화된 경우 0을 반환합니다.
setRateLimitPerSecond()도 참조하십시오 .
[since 6.10] void QHttpServerConfiguration::setBlacklist(QSpan<const std::pair<QHostAddress, int>> subnetList)
subnetList 을 서브넷 블랙리스트로 설정합니다.
이 목록에 포함된 IP 주소는 QHttpServer 에 대한 접근이 거부됩니다. 블랙리스트는 화이트리스트가 비어 있을 때만 활성화됩니다.
기본적으로 블랙리스트는 비어 있습니다.
이 함수는 Qt 6.10에서 도입되었습니다.
blacklist(), setWhitelist() 및 QHostAddress::parseSubnet()도 참조하십시오 .
[since 6.10] void QHttpServerConfiguration::setKeepAliveTimeout(std::chrono::seconds timeout)
QHttpServer 의 키프-얼라이브 타임아웃으로 timeout 을 설정합니다.
keep-alive 타임아웃은 유휴 연결이 닫히기 전까지 얼마나 오랫동안 유지될지를 결정합니다.
기본적으로 타임아웃은 15초로 설정되어 있습니다.
이 함수는 Qt 6.10에서 도입되었습니다.
keepAliveTimeout()도 참조하십시오 .
[since 6.11] void QHttpServerConfiguration::setMaximumBodySize(qint64 maxSize)
서버가 허용하는 요청 본문의 최대 크기를 ` maxSize `로 설정합니다. 이 제한을 초과하면 QHttpServer 은 상태 코드 413(Content Too Large)을 반환합니다. maxSize 의 값이 -1인 경우 제한이 없습니다.
기본값은 32 MiB입니다.
이 함수는 Qt 6.11에서 도입되었습니다.
maximumBodySize() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
[since 6.12] void QHttpServerConfiguration::setMaximumConnections(quint32 maxConnections)
서버가 허용하는 총 동시 연결 수에 대한 제한을 ‘ maxConnections ’로 설정합니다. 제한에 도달하면 서버는 새로운 연결을 거부합니다. HTTP/1 연결의 경우, ‘ QHttpServer ’는 ‘ QHttpServerResponder::StatusCode::TooManyRequests ’를 응답으로 반환하고 연결을 종료합니다.
maxConnections 가 0으로 설정되면 총 연결 제한이 비활성화됩니다.
기본적으로 이 제한은 비활성화되어 있습니다.
이 함수는 Qt 6.12에서 도입되었습니다.
maximumConnections() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
[since 6.12] void QHttpServerConfiguration::setMaximumConnectionsPerHost(quint32 maxPerHost)
QHttpServer 이 호스트당 허용하는 maxPerHost 동시 연결 수에 대한 제한을 설정합니다. 제한을 초과하면 QHttpServer 은 QHttpServerResponder::StatusCode::TooManyRequests 를 반환합니다.
maxPerHost 가 0으로 설정되면 호스트당 연결 제한이 비활성화됩니다. 리버스 프록시 뒤에서 서비스를 실행할 때는 모든 수신 소켓이 리버스 프록시에서 시작된 것으로 표시되므로 이 설정을 적용해야 합니다.
호스트별 연결 제한에 도달하면 HTTP/1 연결은 429(Too Many Requests) 응답과 함께 종료됩니다. SSL 연결의 경우, 제한을 초과하면 연결이 종료됩니다.
기본적으로 이 기능은 비활성화되어 있습니다.
이 기능은 Qt 6.12에서 도입되었습니다.
maximumConnectionsPerHost() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
[since 6.11] void QHttpServerConfiguration::setMaximumHeaderFieldCount(qint64 maxSize)
서버가 요청에서 허용하는 헤더 필드의 최대 개수를 ` maxSize `로 설정합니다. 이 제한을 초과하면 QHttpServer 은 상태 코드 431(Request Header Fields Too Large)을 반환합니다. maxSize 값이 -1인 경우 제한이 없습니다.
기본값은 128입니다.
이 함수는 Qt 6.11에서 도입되었습니다.
maximumHeaderFieldCount() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
[since 6.11] void QHttpServerConfiguration::setMaximumHeaderFieldSize(qint64 maxSize)
maxSize 를 서버가 요청에서 허용하는 단일 헤더 필드의 최대 크기로 설정합니다. 이 제한을 초과할 경우, QHttpServer 는 상태 코드 431(Request Header Fields Too Large)로 응답합니다. maxSize 가 -1인 경우 제한이 없습니다.
기본값은 48 KiB입니다.
이 함수는 Qt 6.11에서 도입되었습니다.
maximumHeaderFieldSize() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
[since 6.11] void QHttpServerConfiguration::setMaximumTotalHeaderSize(qint64 maxSize)
서버가 요청에서 허용하는 헤더 필드의 총 최대 크기를 ` maxSize `로 설정합니다. 이 제한을 초과하면 QHttpServer 는 상태 코드 431(Request Header Fields Too Large)로 응답합니다. ` maxSize `가 -1인 경우 제한이 없습니다.
기본값은 64 KiB입니다.
이 함수는 Qt 6.11에서 도입되었습니다.
maximumTotalHeaderSize() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
[since 6.11] void QHttpServerConfiguration::setMaximumUrlSize(qint64 maxSize)
서버가 허용하는 요청 URL의 최대 길이를 maxSize 로 설정합니다. 이 제한을 초과하면 QHttpServer 는 414 Request-URI Too Long 상태 코드로 응답합니다. maxSize 가 -1인 경우 제한이 없습니다.
기본값은 64 KiB입니다.
이 함수는 Qt 6.11에서 도입되었습니다.
maximumUrlSize() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
void QHttpServerConfiguration::setRateLimitPerSecond(quint32 maxRequests)
IP당 초당 QHttpServer 에서 수락할 수 있는 최대 요청 수를 maxRequests 로 설정합니다. 이 제한을 초과하면 QHttpServer 은 QHttpServerResponder::StatusCode::TooManyRequests 오류를 반환합니다.
이 제한은 각 클라이언트 IP 주소에 대해 개별적으로 적용됩니다. 값을 0으로 설정하면 속도 제한이 비활성화됩니다.
기본적으로 속도 제한은 비활성화되어 있습니다.
rateLimitPerSecond() 및 QHttpServerResponder::StatusCode도 참조하십시오 .
[since 6.10] void QHttpServerConfiguration::setWhitelist(QSpan<const std::pair<QHostAddress, int>> subnetList)
subnetList 를 허용된 서브넷의 화이트리스트로 설정합니다.
목록이 비어 있지 않은 경우, QHttpServer 에서는 이 목록에 포함된 IP 주소만 허용됩니다. 화이트리스트는 블랙리스트보다 우선합니다.
각 서브넷은 다음으로 구성된 쌍으로 표현됩니다.
- QHostAddress 유형의 기본 IP 주소.
- 서브넷 마스크를 정의하는 int 유형의 CIDR 접두사 길이.
특정 IP 주소만 허용하려면 IPv4의 경우 접두사 길이를 32(예: "192.168.1.100/32"), IPv6의 경우 128(예: "2001:db8::1/128")로 설정하십시오.
기본적으로 화이트리스트는 비어 있습니다.
이 함수는 Qt 6.10에서 도입되었습니다.
whitelist(), setBlacklist() 및 QHostAddress::parseSubnet()도 참조하십시오 .
[noexcept] void QHttpServerConfiguration::swap(QHttpServerConfiguration &other)
이 구성을 other 로 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.
[since 6.10] QSpan<const std::pair<QHostAddress, int>> QHttpServerConfiguration::whitelist() const
QHttpServer 에서 허용하는 서브넷의 화이트리스트를 반환합니다.
화이트리스트가 비어 있지 않은 경우, 반환된 서브넷에 속한 주소만 허용됩니다. 화이트리스트는 블랙리스트보다 우선합니다.
기본적으로 화이트리스트는 비어 있습니다.
이 함수는 Qt 6.10에서 도입되었습니다.
setWhitelist()도 참조하십시오 .
[noexcept] QHttpServerConfiguration &QHttpServerConfiguration::operator=(QHttpServerConfiguration &&other)
other 를 QHttpServerConfiguration 로 이동하여 할당합니다.
QHttpServerConfiguration &QHttpServerConfiguration::operator=(const QHttpServerConfiguration &other)
other 를 이 QHttpServerConfiguration 에 복사-할당합니다.
관련 비회원
[noexcept] bool operator!=(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs)
lhs 와 rhs 의 구성 매개변수 집합이 일치하지 않을 경우, true 를 반환합니다.
[noexcept] bool operator==(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs)
lhs 와 rhs 가 동일한 구성 매개변수 집합을 가질 경우, true 를 반환합니다.
© 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.