QHttp2Configuration Class
QHttp2Configuration クラスは HTTP/2 のパラメータと設定を制御します。詳細...
Header: | #include <QHttp2Configuration> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake: | QT += network |
- 継承メンバを含むすべてのメンバの一覧
- QHttp2Configuration はNetwork Programming APIおよびImplicitly Shared Classes に含まれています。
注意:このクラスの関数はすべてリエントラントです。
パブリック関数
QHttp2Configuration() | |
QHttp2Configuration(const QHttp2Configuration &other) | |
QHttp2Configuration(QHttp2Configuration &&other) | |
~QHttp2Configuration() | |
bool | huffmanCompressionEnabled() const |
unsigned int | maxFrameSize() const |
bool | serverPushEnabled() const |
unsigned int | sessionReceiveWindowSize() const |
void | setHuffmanCompressionEnabled(bool enable) |
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) |
詳細な説明
QHttp2Configuration は、HTTP/2 プロトコルが有効になっているときにQNetworkAccessManager がリクエストの送信とレスポンスの処理に使用する HTTP/2 パラメータと設定を制御します。
QHttp2Configuration が現在サポートしている HTTP/2 パラメータには以下のものがあります:
- 接続レベルのフロー制御のためのセッションウィンドウサイズ。識別子 0 を持つストリーム上の 'WINDOW_UPDATE' フレームとして、必要なときにリモートピアに送信されます。
- ストリームレベルのフロー制御のための、ストリーム受信ウィンドウサイズ。最初の SETTINGS フレームの 'SETTINGS_INITIAL_WINDOW_SIZE' パラメータとして送信され、QNetworkAccessManager がオープンしたストリームでは必要に応じて 'WINDOW_UPDATE' フレームが送信されます。
- 最大フレームサイズ。このパラメータは、リモートピアから送信されるフレームの最大ペイロードを制限します。QNetworkAccessManager が最初の 'SETTINGS' フレームの 'SETTINGS_MAX_FRAME_SIZE' パラメータとして送信します。
- サーバープッシュ。サーバープッシュを有効または無効にします。最初の 'SETTINGS' フレームの 'SETTINGS_ENABLE_PUSH' パラメータとして渡されます。
QHttp2Configuration クラスは、ヘッダ圧縮アルゴリズム (HPACK) に加えて 文字列圧縮にハフマンコーディングを使用するかどうかも制御します。
注意: 設定は、最初のリクエストが指定されたホストに送信される (つまり HTTP/2 セッションが確立される) 前に設定されなければなりません。
QNetworkRequest::setHttp2Configuration()、QNetworkRequest::http2Configuration()、QNetworkAccessManagerも参照のこと 。
メンバ関数のドキュメント
QHttp2Configuration::QHttp2Configuration()
Default は QHttp2Configuration オブジェクトを構築します。
このような設定は以下の値を持ちます:
- サーバプッシュは無効
- ハフマン文字列圧縮が有効
- 接続レベルのフロー制御のウィンドウサイズは 65535 オクテット。
- ストリームレベルのフロー制御のウィンドウサイズは 65535 オクテット
- フレーム・サイズは 16384 オクテット
QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &other)
Copy - この QHttp2Configuration を構成します。
[noexcept]
QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other)
から移動します。other
[noexcept]
QHttp2Configuration::~QHttp2Configuration()
デストラクタ。
bool QHttp2Configuration::huffmanCompressionEnabled() const
HPACK のハフマンコーディングが有効な場合はtrue
を返す。
setHuffmanCompressionEnabledも参照ください 。
unsigned int QHttp2Configuration::maxFrameSize() const
HTTP/2 フレームが持つことのできる最大ペイロードサイズを返します。デフォルト (初期値) は 16384 オクテットです。
setMaxFrameSize()も参照 。
bool QHttp2Configuration::serverPushEnabled() const
サーバープッシュが有効な場合に true を返します。
注意: デフォルトでは、QNetworkAccessManager は 'SETTINGS' フレームでサーバープッシュを無効にします。
setServerPushEnabled も参照のこと 。
unsigned int QHttp2Configuration::sessionReceiveWindowSize() const
接続レベルフロー制御のウィンドウサイズを返します。QNetworkAccessManager が使用するデフォルト値は 2147483647 オクテットである。
setSessionReceiveWindowSize()も参照の こと。
void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)
enable がtrue
の場合、HPACK 圧縮はさらにハフマン符号化を使って文字列を圧縮する。デフォルトでは有効になっています。
注意: このパラメータはQNetworkAccessManager が送信する 'HEADERS' フレームのみに影響する。
huffmanCompressionEnabledも参照してください 。
bool QHttp2Configuration::setMaxFrameSize(unsigned int size)
QNetworkAccessManager が最初の SETTINGS フレームを送信する際にサーバに通知する最大フレームサイズを設定します。
注意: このsize は 16384 から 16777215 の範囲内であることが要求されますが、ペイロードを運ぶフレームの実際のペイロードサイズは 16384 より小さいかもしれません。
成功した場合はtrue
を返し、そうでない場合はfalse
を返す。
maxFrameSize()も参照のこと 。
void QHttp2Configuration::setServerPushEnabled(bool enable)
enable がtrue
の場合、リモートサーバーは、server push を使って事前に応答を送信できる可能性がある。
serverPushEnabled も参照のこと 。
bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned int size)
接続レベルフロー制御のウィンドウサイズを設定する。size は0にはできず、2147483647オクテットを超えてはならない。
成功するとtrue
を返し、そうでなければfalse
を返す。
sessionReceiveWindowSizeも参照のこと 。
bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned int size)
size 0にすることはできず、2147483647オクテットを超えてはならない。
成功するとtrue
を返し、そうでなければfalse
を返す。
streamReceiveWindowSizeも参照のこと 。
unsigned int QHttp2Configuration::streamReceiveWindowSize() const
ストリームレベルフロー制御のウィンドウサイズを返す。QNetworkAccessManager が使用するデフォルト値は 214748364 オクテットである (RFC 7540 参照)。
setStreamReceiveWindowSize()も参照の こと。
[noexcept]
void QHttp2Configuration::swap(QHttp2Configuration &other)
この構成をother 構成と入れ替える。
[noexcept]
QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&other)
Move-other をこのQHttp2Configuration に割り当てる。
QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &other)
Copy-このQHttp2Configuration にother を割り当てます。
関連する非会員
[noexcept]
bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
lhs とrhs が同じ HTTP/2 パラメータセットを持っていない場合、true
を返します。
[noexcept]
bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
lhs とrhs が同じ HTTP/2 パラメータセットを持っている場合、true
を返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。