QHttpHeaders Class
QHttpHeaders は、HTTP ヘッダーを保持するためのクラスです。詳細...
| ヘッダー: | #include <QHttpHeaders> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
| 以下のように: | Qt 6.7 |
パブリック型
| enum class | WellKnownHeader { AIM, Accept, AcceptAdditions, AcceptCH, AcceptDatetime, …, ProtocolQuery } |
パブリック関数
| QHttpHeaders() | |
| QHttpHeaders(const QHttpHeaders &other) | |
| QHttpHeaders(QHttpHeaders &&other) | |
| ~QHttpHeaders() | |
| bool | append(QAnyStringView name, QAnyStringView value) |
| bool | append(QHttpHeaders::WellKnownHeader name, QAnyStringView value) |
| void | clear() |
| QByteArray | combinedValue(QAnyStringView name) const |
| QByteArray | combinedValue(QHttpHeaders::WellKnownHeader name) const |
| bool | contains(QAnyStringView name) const |
| bool | contains(QHttpHeaders::WellKnownHeader name) const |
(since 6.10) std::optional<QDateTime> | dateTimeValue(QAnyStringView name) const |
(since 6.10) std::optional<QDateTime> | dateTimeValue(QHttpHeaders::WellKnownHeader name) const |
(since 6.10) std::optional<QDateTime> | dateTimeValueAt(qsizetype i) const |
(since 6.10) std::optional<QList<QDateTime>> | dateTimeValues(QAnyStringView name) const |
(since 6.10) std::optional<QList<QDateTime>> | dateTimeValues(QHttpHeaders::WellKnownHeader name) const |
| bool | insert(qsizetype i, QAnyStringView name, QAnyStringView value) |
| bool | insert(qsizetype i, QHttpHeaders::WellKnownHeader name, QAnyStringView value) |
(since 6.10) std::optional<qint64> | intValue(QAnyStringView name) const |
(since 6.10) std::optional<qint64> | intValue(QHttpHeaders::WellKnownHeader name) const |
(since 6.10) std::optional<qint64> | intValueAt(qsizetype i) const |
(since 6.10) std::optional<QList<qint64>> | intValues(QAnyStringView name) const |
(since 6.10) std::optional<QList<qint64>> | intValues(QHttpHeaders::WellKnownHeader name) const |
| bool | isEmpty() const |
| QLatin1StringView | nameAt(qsizetype i) const |
(since 6.12) std::optional<QHttpHeaderRangeSet> | rangeValues() const |
| void | removeAll(QAnyStringView name) |
| void | removeAll(QHttpHeaders::WellKnownHeader name) |
| void | removeAt(qsizetype i) |
| bool | replace(qsizetype i, QAnyStringView name, QAnyStringView newValue) |
| bool | replace(qsizetype i, QHttpHeaders::WellKnownHeader name, QAnyStringView newValue) |
(since 6.8) bool | replaceOrAppend(QHttpHeaders::WellKnownHeader name, QAnyStringView newValue) |
| bool | replaceOrAppend(QAnyStringView name, QAnyStringView newValue) |
| void | reserve(qsizetype size) |
(since 6.10) void | setDateTimeValue(QAnyStringView name, const QDateTime &dateTime) |
(since 6.10) void | setDateTimeValue(QHttpHeaders::WellKnownHeader name, const QDateTime &dateTime) |
(since 6.12) void | setRangeValues(const QHttpHeaderRangeSet &ranges) |
| qsizetype | size() const |
| void | swap(QHttpHeaders &other) |
| QList<std::pair<QByteArray, QByteArray>> | toListOfPairs() const |
| QMultiHash<QByteArray, QByteArray> | toMultiHash() const |
| QMultiMap<QByteArray, QByteArray> | toMultiMap() const |
| QByteArrayView | value(QAnyStringView name, QByteArrayView defaultValue = {}) const |
| QByteArrayView | value(QHttpHeaders::WellKnownHeader name, QByteArrayView defaultValue = {}) const |
| QByteArrayView | valueAt(qsizetype i) const |
| QList<QByteArray> | values(QAnyStringView name) const |
| QList<QByteArray> | values(QHttpHeaders::WellKnownHeader name) const |
| QHttpHeaders & | operator=(QHttpHeaders &&other) |
| QHttpHeaders & | operator=(const QHttpHeaders &other) |
静的パブリックメンバー
| QHttpHeaders | fromListOfPairs(const QList<std::pair<QByteArray, QByteArray>> &headers) |
| QHttpHeaders | fromMultiHash(const QMultiHash<QByteArray, QByteArray> &headers) |
| QHttpHeaders | fromMultiMap(const QMultiMap<QByteArray, QByteArray> &headers) |
| QByteArrayView | wellKnownHeaderName(QHttpHeaders::WellKnownHeader name) |
関連する非メンバー
(since 6.12) QDataStream & | operator<<(QDataStream &out, const QHttpHeaders &headers) |
| QDebug | operator<<(QDebug debug, const QHttpHeaders &headers) |
(since 6.12) QDataStream & | operator>>(QDataStream &in, QHttpHeaders &headers) |
詳細な説明
このクラスは、そのようなヘッダーを使用または消費する Qt Network API 用のインターフェース型です。
フィールド名および値に使用可能な文字
HTTPヘッダーは、名前と値で構成されます。これらを設定する際、QHttpHeadersは、名前と値にHTTP RFCで許可されている文字のみが含まれていることを検証します。詳細については、RFC 9110の第5.1章および第5.5章を参照してください。
要するに、これは次のことを意味します:
name可視ASCII文字で構成されていなければならず、空であってはなりませんvalueヘッダーおよびユースケース固有のエンコード規則が遵守されている限り、任意のバイトで構成されてもよい。valueは空でもよい
このクラスのセッターは、値の処理中に無視される必要があるため、値の先頭または末尾にある空白文字を自動的に削除します。
値の結合
ほとんどの HTTP ヘッダー値は、単一のコンマ「',' 」と(オプションの)空白を挟んで結合することができ、その際、意味的な内容は保持されます。例として、次の 2 つは意味的に類似しているはずです:
// Values as separate header entries
myheadername: myheadervalue1
myheadername: myheadervalue2
// Combined value
myheadername: myheadervalue1, myheadervalue2ただし、このルールには注目すべき例外があります。それはSet-Cookie です。この点およびカスタムユースケースの可能性を考慮し、QHttpHeaders では値を自動的に結合しません。
パフォーマンス
QHttpHeadersの関数のほとんどは、QHttpHeaders::WellKnownHeader とQAnyStringView の両方のオーバーロードを提供しています。メモリ使用量および計算量の観点から、QHttpHeaders::WellKnownHeader のオーバーロードを使用することを推奨します。
メンバ型のドキュメント
enum class QHttpHeaders::WellKnownHeader
IANAレジストリに基づく、よく知られたヘッダーの一覧。
| 定数 | 値 |
|---|---|
QHttpHeaders::WellKnownHeader::AIM | 0 |
QHttpHeaders::WellKnownHeader::Accept | 1 |
QHttpHeaders::WellKnownHeader::AcceptAdditions | 2 |
QHttpHeaders::WellKnownHeader::AcceptCH | 3 |
QHttpHeaders::WellKnownHeader::AcceptDatetime | 4 |
QHttpHeaders::WellKnownHeader::AcceptEncoding | 5 |
QHttpHeaders::WellKnownHeader::AcceptFeatures | 6 |
QHttpHeaders::WellKnownHeader::AcceptLanguage | 7 |
QHttpHeaders::WellKnownHeader::AcceptPatch | 8 |
QHttpHeaders::WellKnownHeader::AcceptPost | 9 |
QHttpHeaders::WellKnownHeader::AcceptRanges | 10 |
QHttpHeaders::WellKnownHeader::AcceptSignature | 11 |
QHttpHeaders::WellKnownHeader::AccessControlAllowCredentials | 12 |
QHttpHeaders::WellKnownHeader::AccessControlAllowHeaders | 13 |
QHttpHeaders::WellKnownHeader::AccessControlAllowMethods | 14 |
QHttpHeaders::WellKnownHeader::AccessControlAllowOrigin | 15 |
QHttpHeaders::WellKnownHeader::AccessControlExposeHeaders | 16 |
QHttpHeaders::WellKnownHeader::AccessControlMaxAge | 17 |
QHttpHeaders::WellKnownHeader::AccessControlRequestHeaders | 18 |
QHttpHeaders::WellKnownHeader::AccessControlRequestMethod | 19 |
QHttpHeaders::WellKnownHeader::Age | 20 |
QHttpHeaders::WellKnownHeader::Allow | 21 |
QHttpHeaders::WellKnownHeader::ALPN | 22 |
QHttpHeaders::WellKnownHeader::AltSvc | 23 |
QHttpHeaders::WellKnownHeader::AltUsed | 24 |
QHttpHeaders::WellKnownHeader::Alternates | 25 |
QHttpHeaders::WellKnownHeader::ApplyToRedirectRef | 26 |
QHttpHeaders::WellKnownHeader::AuthenticationControl | 27 |
QHttpHeaders::WellKnownHeader::AuthenticationInfo | 28 |
QHttpHeaders::WellKnownHeader::Authorization | 29 |
QHttpHeaders::WellKnownHeader::CacheControl | 30 |
QHttpHeaders::WellKnownHeader::CacheStatus | 31 |
QHttpHeaders::WellKnownHeader::CalManagedID | 32 |
QHttpHeaders::WellKnownHeader::CalDAVTimezones | 33 |
QHttpHeaders::WellKnownHeader::CapsuleProtocol | 34 |
QHttpHeaders::WellKnownHeader::CDNCacheControl | 35 |
QHttpHeaders::WellKnownHeader::CDNLoop | 36 |
QHttpHeaders::WellKnownHeader::CertNotAfter | 37 |
QHttpHeaders::WellKnownHeader::CertNotBefore | 38 |
QHttpHeaders::WellKnownHeader::ClearSiteData | 39 |
QHttpHeaders::WellKnownHeader::ClientCert | 40 |
QHttpHeaders::WellKnownHeader::ClientCertChain | 41 |
QHttpHeaders::WellKnownHeader::Close | 42 |
QHttpHeaders::WellKnownHeader::Connection | 43 |
QHttpHeaders::WellKnownHeader::ContentDigest | 44 |
QHttpHeaders::WellKnownHeader::ContentDisposition | 45 |
QHttpHeaders::WellKnownHeader::ContentEncoding | 46 |
QHttpHeaders::WellKnownHeader::ContentID | 47 |
QHttpHeaders::WellKnownHeader::ContentLanguage | 48 |
QHttpHeaders::WellKnownHeader::ContentLength | 49 |
QHttpHeaders::WellKnownHeader::ContentLocation | 50 |
QHttpHeaders::WellKnownHeader::ContentRange | 51 |
QHttpHeaders::WellKnownHeader::ContentSecurityPolicy | 52 |
QHttpHeaders::WellKnownHeader::ContentSecurityPolicyReportOnly | 53 |
QHttpHeaders::WellKnownHeader::ContentType | 54 |
QHttpHeaders::WellKnownHeader::Cookie | 55 |
QHttpHeaders::WellKnownHeader::CrossOriginEmbedderPolicy | 56 |
QHttpHeaders::WellKnownHeader::CrossOriginEmbedderPolicyReportOnly | 57 |
QHttpHeaders::WellKnownHeader::CrossOriginOpenerPolicy | 58 |
QHttpHeaders::WellKnownHeader::CrossOriginOpenerPolicyReportOnly | 59 |
QHttpHeaders::WellKnownHeader::CrossOriginResourcePolicy | 60 |
QHttpHeaders::WellKnownHeader::DASL | 61 |
QHttpHeaders::WellKnownHeader::Date | 62 |
QHttpHeaders::WellKnownHeader::DAV | 63 |
QHttpHeaders::WellKnownHeader::DeltaBase | 64 |
QHttpHeaders::WellKnownHeader::Depth | 65 |
QHttpHeaders::WellKnownHeader::Destination | 66 |
QHttpHeaders::WellKnownHeader::DifferentialID | 67 |
QHttpHeaders::WellKnownHeader::DPoP | 68 |
QHttpHeaders::WellKnownHeader::DPoPNonce | 69 |
QHttpHeaders::WellKnownHeader::EarlyData | 70 |
QHttpHeaders::WellKnownHeader::ETag | 71 |
QHttpHeaders::WellKnownHeader::Expect | 72 |
QHttpHeaders::WellKnownHeader::ExpectCT | 73 |
QHttpHeaders::WellKnownHeader::Expires | 74 |
QHttpHeaders::WellKnownHeader::Forwarded | 75 |
QHttpHeaders::WellKnownHeader::From | 76 |
QHttpHeaders::WellKnownHeader::Hobareg | 77 |
QHttpHeaders::WellKnownHeader::Host | 78 |
QHttpHeaders::WellKnownHeader::If | 79 |
QHttpHeaders::WellKnownHeader::IfMatch | 80 |
QHttpHeaders::WellKnownHeader::IfModifiedSince | 81 |
QHttpHeaders::WellKnownHeader::IfNoneMatch | 82 |
QHttpHeaders::WellKnownHeader::IfRange | 83 |
QHttpHeaders::WellKnownHeader::IfScheduleTagMatch | 84 |
QHttpHeaders::WellKnownHeader::IfUnmodifiedSince | 85 |
QHttpHeaders::WellKnownHeader::IM | 86 |
QHttpHeaders::WellKnownHeader::IncludeReferredTokenBindingID | 87 |
QHttpHeaders::WellKnownHeader::KeepAlive | 88 |
QHttpHeaders::WellKnownHeader::Label | 89 |
QHttpHeaders::WellKnownHeader::LastEventID | 90 |
QHttpHeaders::WellKnownHeader::LastModified | 91 |
QHttpHeaders::WellKnownHeader::Link | 92 |
QHttpHeaders::WellKnownHeader::Location | 93 |
QHttpHeaders::WellKnownHeader::LockToken | 94 |
QHttpHeaders::WellKnownHeader::MaxForwards | 95 |
QHttpHeaders::WellKnownHeader::MementoDatetime | 96 |
QHttpHeaders::WellKnownHeader::Meter | 97 |
QHttpHeaders::WellKnownHeader::MIMEVersion | 98 |
QHttpHeaders::WellKnownHeader::Negotiate | 99 |
QHttpHeaders::WellKnownHeader::NEL | 100 |
QHttpHeaders::WellKnownHeader::ODataEntityId | 101 |
QHttpHeaders::WellKnownHeader::ODataIsolation | 102 |
QHttpHeaders::WellKnownHeader::ODataMaxVersion | 103 |
QHttpHeaders::WellKnownHeader::ODataVersion | 104 |
QHttpHeaders::WellKnownHeader::OptionalWWWAuthenticate | 105 |
QHttpHeaders::WellKnownHeader::OrderingType | 106 |
QHttpHeaders::WellKnownHeader::Origin | 107 |
QHttpHeaders::WellKnownHeader::OriginAgentCluster | 108 |
QHttpHeaders::WellKnownHeader::OSCORE | 109 |
QHttpHeaders::WellKnownHeader::OSLCCoreVersion | 110 |
QHttpHeaders::WellKnownHeader::Overwrite | 111 |
QHttpHeaders::WellKnownHeader::PingFrom | 112 |
QHttpHeaders::WellKnownHeader::PingTo | 113 |
QHttpHeaders::WellKnownHeader::Position | 114 |
QHttpHeaders::WellKnownHeader::Prefer | 115 |
QHttpHeaders::WellKnownHeader::PreferenceApplied | 116 |
QHttpHeaders::WellKnownHeader::Priority | 117 |
QHttpHeaders::WellKnownHeader::ProxyAuthenticate | 118 |
QHttpHeaders::WellKnownHeader::ProxyAuthenticationInfo | 119 |
QHttpHeaders::WellKnownHeader::ProxyAuthorization | 120 |
QHttpHeaders::WellKnownHeader::ProxyStatus | 121 |
QHttpHeaders::WellKnownHeader::PublicKeyPins | 122 |
QHttpHeaders::WellKnownHeader::PublicKeyPinsReportOnly | 123 |
QHttpHeaders::WellKnownHeader::Range | 124 |
QHttpHeaders::WellKnownHeader::RedirectRef | 125 |
QHttpHeaders::WellKnownHeader::Referer | 126 |
QHttpHeaders::WellKnownHeader::Refresh | 127 |
QHttpHeaders::WellKnownHeader::ReplayNonce | 128 |
QHttpHeaders::WellKnownHeader::ReprDigest | 129 |
QHttpHeaders::WellKnownHeader::RetryAfter | 130 |
QHttpHeaders::WellKnownHeader::ScheduleReply | 131 |
QHttpHeaders::WellKnownHeader::ScheduleTag | 132 |
QHttpHeaders::WellKnownHeader::SecPurpose | 133 |
QHttpHeaders::WellKnownHeader::SecTokenBinding | 134 |
QHttpHeaders::WellKnownHeader::SecWebSocketAccept | 135 |
QHttpHeaders::WellKnownHeader::SecWebSocketExtensions | 136 |
QHttpHeaders::WellKnownHeader::SecWebSocketKey | 137 |
QHttpHeaders::WellKnownHeader::SecWebSocketProtocol | 138 |
QHttpHeaders::WellKnownHeader::SecWebSocketVersion | 139 |
QHttpHeaders::WellKnownHeader::Server | 140 |
QHttpHeaders::WellKnownHeader::ServerTiming | 141 |
QHttpHeaders::WellKnownHeader::SetCookie | 142 |
QHttpHeaders::WellKnownHeader::Signature | 143 |
QHttpHeaders::WellKnownHeader::SignatureInput | 144 |
QHttpHeaders::WellKnownHeader::SLUG | 145 |
QHttpHeaders::WellKnownHeader::SoapAction | 146 |
QHttpHeaders::WellKnownHeader::StatusURI | 147 |
QHttpHeaders::WellKnownHeader::StrictTransportSecurity | 148 |
QHttpHeaders::WellKnownHeader::Sunset | 149 |
QHttpHeaders::WellKnownHeader::SurrogateCapability | 150 |
QHttpHeaders::WellKnownHeader::SurrogateControl | 151 |
QHttpHeaders::WellKnownHeader::TCN | 152 |
QHttpHeaders::WellKnownHeader::TE | 153 |
QHttpHeaders::WellKnownHeader::Timeout | 154 |
QHttpHeaders::WellKnownHeader::Topic | 155 |
QHttpHeaders::WellKnownHeader::Traceparent | 156 |
QHttpHeaders::WellKnownHeader::Tracestate | 157 |
QHttpHeaders::WellKnownHeader::Trailer | 158 |
QHttpHeaders::WellKnownHeader::TransferEncoding | 159 |
QHttpHeaders::WellKnownHeader::TTL | 160 |
QHttpHeaders::WellKnownHeader::Upgrade | 161 |
QHttpHeaders::WellKnownHeader::Urgency | 162 |
QHttpHeaders::WellKnownHeader::UserAgent | 163 |
QHttpHeaders::WellKnownHeader::VariantVary | 164 |
QHttpHeaders::WellKnownHeader::Vary | 165 |
QHttpHeaders::WellKnownHeader::Via | 166 |
QHttpHeaders::WellKnownHeader::WantContentDigest | 167 |
QHttpHeaders::WellKnownHeader::WantReprDigest | 168 |
QHttpHeaders::WellKnownHeader::WWWAuthenticate | 169 |
QHttpHeaders::WellKnownHeader::XContentTypeOptions | 170 |
QHttpHeaders::WellKnownHeader::XFrameOptions | 171 |
QHttpHeaders::WellKnownHeader::AcceptCharset | 172 |
QHttpHeaders::WellKnownHeader::CPEPInfo | 173 |
QHttpHeaders::WellKnownHeader::Pragma | 174 |
QHttpHeaders::WellKnownHeader::ProtocolInfo | 175 |
QHttpHeaders::WellKnownHeader::ProtocolQuery | 176 |
メンバ関数のドキュメント
[noexcept] QHttpHeaders::QHttpHeaders()
新しい QHttpHeaders オブジェクトを作成します。
QHttpHeaders::QHttpHeaders(const QHttpHeaders &other)
other のコピーを作成します。
[constexpr noexcept default] QHttpHeaders::QHttpHeaders(QHttpHeaders &&other)
other からオブジェクトをムーブコンストラクトで生成します。これにより、 はempty のまま残ります。
[noexcept] QHttpHeaders::~QHttpHeaders()
ヘッダーオブジェクトを破棄します。
bool QHttpHeaders::append(QAnyStringView name, QAnyStringView value)
name およびvalue を含むヘッダーエントリを追加し、成功した場合はtrue を返します。
append(QHttpHeaders::WellKnownHeader, QAnyStringView) およびAllowed field name and value charactersも参照してください 。
bool QHttpHeaders::append(QHttpHeaders::WellKnownHeader name, QAnyStringView value)
この関数は、QHttpHeaders::append(QAnyStringView, QAnyStringView) をオーバーロードしています。
void QHttpHeaders::clear()
すべてのヘッダーエントリをクリアします。
size()も参照してください 。
QByteArray QHttpHeaders::combinedValue(QAnyStringView name) const
ヘッダー「name 」の値をカンマ区切りの文字列として返します。name を含むヘッダーが存在しない場合は、null QByteArray を返します。
注: この方法で「Set-Cookie」ヘッダーの値にアクセスしても 、意図したとおりに動作しない場合があります。このヘッダーの値は、HTTP RFCにおいてこの方法で結合できないという点で、特筆すべき例外となっています。代わりにvalues() を使用することを推奨します。
values(QAnyStringView)も参照してください 。
QByteArray QHttpHeaders::combinedValue(QHttpHeaders::WellKnownHeader name) const
この関数は、QHttpHeaders::combinedValue (QAnyStringView)をオーバーロードしています。
bool QHttpHeaders::contains(QAnyStringView name) const
ヘッダーにname を含むヘッダーが含まれているかどうかを返します。
「contains(QHttpHeaders::WellKnownHeader)」も参照してください 。
bool QHttpHeaders::contains(QHttpHeaders::WellKnownHeader name) const
この関数は、QHttpHeaders::has(QAnyStringView) をオーバーロードしています。
[since 6.10] std::optional<QDateTime> QHttpHeaders::dateTimeValue(QAnyStringView name) const
name のヘッダー値のうち、最初に検出されたものを、標準のHTTP日付形式に従ってQDateTime オブジェクトに変換します。ヘッダーが存在しない場合、または無効なQDateTime が含まれている場合は、std::nullopt を返します。
この関数は Qt 6.10 で導入されました。
setDateTimeValue()、dateTimeValues(QAnyStringView name)、およびdateTimeValueAt(qsizetype i)も参照してください 。
[since 6.10] std::optional<QDateTime> QHttpHeaders::dateTimeValue(QHttpHeaders::WellKnownHeader name) const
この関数は、QHttpHeaders::dateTimeValue (QAnyStringView)をオーバーロードしています。
この関数は Qt 6.10 で導入されました。
[since 6.10] std::optional<QDateTime> QHttpHeaders::dateTimeValueAt(qsizetype i) const
インデックスi にあるヘッダーの値を、標準のHTTP日付形式に従ったQDateTime オブジェクトに変換します。インデックスi は有効な値でなければなりません。
この関数は Qt 6.10 で導入されました。
dateTimeValue (QAnyStringView name)およびdateTimeValues (QAnyStringView name)も参照してください 。
[since 6.10] std::optional<QList<QDateTime>> QHttpHeaders::dateTimeValues(QAnyStringView name) const
name のすべてのヘッダー値を、標準の HTTP 日付形式に従ったQDateTime オブジェクトのリストとして返します。有効な日時値が見つからない場合は、std::nullopt を返します。
この関数は Qt 6.10 で導入されました。
dateTimeValue(QAnyStringView name) およびdateTimeValueAt(qsizetype i)も参照してください 。
[since 6.10] std::optional<QList<QDateTime>> QHttpHeaders::dateTimeValues(QHttpHeaders::WellKnownHeader name) const
この関数は、QHttpHeaders::dateTimeValues (QAnyStringView)をオーバーロードしています。
この関数は Qt 6.10 で導入されました。
[static] QHttpHeaders QHttpHeaders::fromListOfPairs(const QList<std::pair<QByteArray, QByteArray>> &headers)
headers で初期化された新しいQHttpHeaders オブジェクトを作成します。
「Allowed field name and value characters」も参照してください 。
[static] QHttpHeaders QHttpHeaders::fromMultiHash(const QMultiHash<QByteArray, QByteArray> &headers)
headers が設定された新しい `QHttpHeaders ` オブジェクトを作成します。
「Allowed field name and value characters」も参照してください 。
[static] QHttpHeaders QHttpHeaders::fromMultiMap(const QMultiMap<QByteArray, QByteArray> &headers)
headers で初期化された新しいQHttpHeaders オブジェクトを作成します。
「Allowed field name and value characters」も参照してください 。
bool QHttpHeaders::insert(qsizetype i, QAnyStringView name, QAnyStringView value)
インデックスi に、name およびvalue を持つヘッダーエントリを挿入します。インデックスは有効である必要があります(size() を参照)。挿入が成功したかどうかを返します。
append()、insert(qsizetype, QHttpHeaders::WellKnownHeader, QAnyStringView)、size()、およびAllowed field name and value charactersも参照してください 。
bool QHttpHeaders::insert(qsizetype i, QHttpHeaders::WellKnownHeader name, QAnyStringView value)
この関数は、QHttpHeaders::insert (qsizetype、QAnyStringView、QAnyStringView)をオーバーロードしています。
[noexcept, since 6.10] std::optional<qint64> QHttpHeaders::intValue(QAnyStringView name) const
最初の有効なヘッダー `name ` の値を、64ビット整数として解釈したものを返します。ヘッダーが存在しない場合、または整数として解析できない場合は、std::nullopt を返します。
この関数は Qt 6.10 で導入されました。
intValues(QAnyStringView name) およびintValueAt(qsizetype i)も参照してください 。
[noexcept, since 6.10] std::optional<qint64> QHttpHeaders::intValue(QHttpHeaders::WellKnownHeader name) const
この関数は、QHttpHeaders::intValue (QAnyStringView)をオーバーロードしています。
この関数は Qt 6.10 で導入されました。
[noexcept, since 6.10] std::optional<qint64> QHttpHeaders::intValueAt(qsizetype i) const
インデックス `i` にあるヘッダー値を、64ビット整数として解釈して返します。インデックス `i ` は有効な値でなければなりません。
この関数は Qt 6.10 で導入されました。
intValues(QAnyStringView name) およびintValue(QAnyStringView name)も参照してください 。
[since 6.10] std::optional<QList<qint64>> QHttpHeaders::intValues(QAnyStringView name) const
ヘッダー `name ` の値を、64ビット整数として解釈したものをリストとして返します。ヘッダーが存在しない場合、または整数として解析できない場合は、std::nullopt を返します。
この関数は Qt 6.10 で導入されました。
intValue(QAnyStringView name) およびintValueAt(qsizetype i)も参照してください 。
[since 6.10] std::optional<QList<qint64>> QHttpHeaders::intValues(QHttpHeaders::WellKnownHeader name) const
この関数は、QHttpHeaders::intValues (QAnyStringView)をオーバーロードしています。
この関数は Qt 6.10 で導入されました。
[noexcept] bool QHttpHeaders::isEmpty() const
ヘッダーのサイズが 0 の場合は `true ` を返し、それ以外の場合は `false` を返します。
size()も参照してください 。
[noexcept] QLatin1StringView QHttpHeaders::nameAt(qsizetype i) const
インデックス `i` にあるヘッダー名を返します。インデックス `i ` は有効な値でなければなりません(size() を参照)。
ヘッダー名は大文字と小文字を区別せず、返される名前は小文字に変換されます。
size() およびvalueAt()も参照してください 。
[since 6.12] std::optional<QHttpHeaderRangeSet> QHttpHeaders::rangeValues() const
Range HTTPヘッダーフィールドの範囲を返します。解析に失敗した場合は、std::nullopt を返します。
各範囲はバイト範囲を表します。RFC 9110によると:
- 開始位置が指定されているが終了位置が指定されていない場合(例: "bytes=500-")、QHttpHeaderRangeSpec には
start=500およびend=std::nulloptが設定されます。 - 終了位置が指定され、開始位置が指定されていない場合(例: "bytes=-500")、QHttpHeaderRangeSpec には
start=std::nulloptおよびend=500が設定され、最後の500バイトを表します。 - 両方が指定されている場合(例:「bytes=0-499」)、QHttpHeaderRangeSpec には
start=0およびend=499が含まれます。
範囲は、ヘッダーに記述されている順序で返されます。
解析は次のように行われます。
Rangeヘッダーが存在しない場合、空の範囲セットが返されます。- RFC 9110のセクション14.2によると、「bytes」以外の単位を含む
Rangeヘッダー(例: 「seconds=1-2」)は無視されます。これらの無視されたヘッダーによって、解析が失敗することはありません。 Rangeヘッダーが「bytes」単位を使用しているものの、形式が不正である場合(例:ハイフンが欠落している、無効な文字が含まれている、または無効な数値が含まれている)、この関数はstd::nulloptを返します。
この関数は Qt 6.12 で導入されました。
setRangeValues およびWellKnownHeader::Rangeも参照してください 。
void QHttpHeaders::removeAll(QAnyStringView name)
ヘッダー「name 」を削除します。
removeAt() およびremoveAll(QHttpHeaders::WellKnownHeader)も参照してください 。
void QHttpHeaders::removeAll(QHttpHeaders::WellKnownHeader name)
この関数は、QHttpHeaders::removeAll (QAnyStringView)をオーバーロードしています。
void QHttpHeaders::removeAt(qsizetype i)
インデックスi にあるヘッダーを削除します。インデックスi は有効なものでなければなりません(size() を参照してください)。
removeAll(QHttpHeaders::WellKnownHeader)、removeAll(QAnyStringView)、およびsize()も参照してください 。
bool QHttpHeaders::replace(qsizetype i, QAnyStringView name, QAnyStringView newValue)
インデックスi にあるヘッダーエントリを、name およびnewValue に置き換えます。インデックスは有効である必要があります(size() を参照)。置換が成功したかどうかを返します。
append()、replace(qsizetype, QHttpHeaders::WellKnownHeader, QAnyStringView)、size()、およびAllowed field name and value charactersも参照してください 。
bool QHttpHeaders::replace(qsizetype i, QHttpHeaders::WellKnownHeader name, QAnyStringView newValue)
この関数は、QHttpHeaders::replace (qsizetype、QAnyStringView、QAnyStringView)をオーバーロードしています。
[since 6.8] bool QHttpHeaders::replaceOrAppend(QHttpHeaders::WellKnownHeader name, QAnyStringView newValue)
QHttpHeaders にすでにname が含まれている場合、その値をnewValue に置き換え、追加されている可能性のあるname エントリを削除します。name が存在しない場合は、新しいエントリを追加します。成功した場合はtrue を返します。
この関数は、一意のname:newValue ヘッダーを設定するための便宜的なメソッドです。ほとんどのヘッダーでは順序は重要ではないため、既存のエントリが存在する場合はそれを再利用できます。
この関数は Qt 6.8 で導入されました。
replaceOrAppend(QAnyStringView, QAnyStringView)も参照してください 。
bool QHttpHeaders::replaceOrAppend(QAnyStringView name, QAnyStringView newValue)
この関数は、QHttpHeaders::replaceOrAppend(WellKnownHeader, QAnyStringView) をオーバーロードしています。
void QHttpHeaders::reserve(qsizetype size)
少なくともsize 個のヘッダーエントリ分のメモリを割り当てようとします。
ヘッダーエントリの数が事前に分かっている場合は、この関数を呼び出すことで、再割り当てやメモリの断片化を防ぐことができます。
[since 6.10] void QHttpHeaders::setDateTimeValue(QAnyStringView name, const QDateTime &dateTime)
ヘッダー名「name 」の値を、標準のHTTP IMF-fixdate形式に従って「dateTime 」に設定します。ヘッダーが存在しない場合は、新しいヘッダーを追加します。
この関数は Qt 6.10 で導入されました。
dateTimeValue(QAnyStringView name) およびdateTimeValueAt(qsizetype i)も参照してください 。
[since 6.10] void QHttpHeaders::setDateTimeValue(QHttpHeaders::WellKnownHeader name, const QDateTime &dateTime)
この関数は、QHttpHeaders::setDateTimeValue(QAnyStringView) をオーバーロードしています。
この関数は Qt 6.10 で導入されました。
[since 6.12] void QHttpHeaders::setRangeValues(const QHttpHeaderRangeSet &ranges)
Range HTTPヘッダーフィールドを、指定されたranges のリストに設定します。
範囲は「バイト」単位で、ranges が保持している順序でフォーマットされます。各QHttpHeaderRangeSpec について:
- 開始値のみを持つ範囲(例:QHttpHeaderRangeSpec(500, std::nullopt))は、
"500-"としてフォーマットされます。 - 終了値のみを含む範囲(例:QHttpHeaderRangeSpec(std::nullopt, 500))は、
"-500"としてフォーマットされ、最後の 500 バイトを表します。 - 開始位置と終了位置の両方が指定されている範囲(例:QHttpHeaderRangeSpec(0, 499))は、
"0-499"の形式で表示されます。
複数の範囲が指定された場合、それらはコンマで区切られます。例:"bytes=0-499 、1000-」。
ranges が空の場合、Range ヘッダーは削除されます。
この関数は Qt 6.12 で導入されました。
rangeValues() およびWellKnownHeader::Rangeも参照してください 。
[noexcept] qsizetype QHttpHeaders::size() const
ヘッダーエントリの数を返します。
[noexcept] void QHttpHeaders::swap(QHttpHeaders &other)
QHttpHeaders をother に置き換えます。この処理は非常に高速で、失敗することはありません。
QList<std::pair<QByteArray, QByteArray>> QHttpHeaders::toListOfPairs() const
ヘッダーエントリを (名前, 値) のペアのリストとして返します。ヘッダー名は大文字と小文字を区別せず、返される名前はすべて小文字に変換されます。
QMultiHash<QByteArray, QByteArray> QHttpHeaders::toMultiHash() const
ヘッダーエントリを、名前から値(複数可)へのハッシュとして返します。ヘッダー名は大文字小文字を区別せず、返される名前はすべて小文字に変換されます。
QMultiMap<QByteArray, QByteArray> QHttpHeaders::toMultiMap() const
ヘッダーエントリを、名前から値(複数可)へのマップとして返します。ヘッダー名は大文字と小文字を区別せず、返される名前は小文字に変換されます。
[noexcept] QByteArrayView QHttpHeaders::value(QAnyStringView name, QByteArrayView defaultValue = {}) const
(最初の)ヘッダー `name` の値を返します。存在しない場合は `defaultValue ` を返します。
value(QHttpHeaders::WellKnownHeader、QByteArrayView)も参照してください 。
[noexcept] QByteArrayView QHttpHeaders::value(QHttpHeaders::WellKnownHeader name, QByteArrayView defaultValue = {}) const
この関数は、QHttpHeaders::value (QAnyStringView、QByteArrayView)をオーバーロードしています。
[noexcept] QByteArrayView QHttpHeaders::valueAt(qsizetype i) const
インデックスi にあるヘッダー値を返します。インデックスi は有効な値でなければなりません(size() を参照)。
size()、value()、values()、combinedValue()、およびnameAt()も参照してください 。
QList<QByteArray> QHttpHeaders::values(QAnyStringView name) const
ヘッダー「name 」の値をリストとして返します。name を持つヘッダーが存在しない場合は、空のリストを返します。
values(QHttpHeaders::WellKnownHeader)も参照してください 。
QList<QByteArray> QHttpHeaders::values(QHttpHeaders::WellKnownHeader name) const
この関数は、QHttpHeaders::values (QAnyStringView)をオーバーロードしています。
[static noexcept] QByteArrayView QHttpHeaders::wellKnownHeaderName(QHttpHeaders::WellKnownHeader name)
指定されたname に対応するヘッダー名を、ビューとして返します。
[noexcept] QHttpHeaders &QHttpHeaders::operator=(QHttpHeaders &&other)
other を代入し、このオブジェクトへの参照を返します。
other empty が残されます。
QHttpHeaders &QHttpHeaders::operator=(const QHttpHeaders &other)
other の内容を割り当て、このオブジェクトへの参照を返します。
関連する非メンバー関数
[since 6.12] QDataStream &operator<<(QDataStream &out, const QHttpHeaders &headers)
`headers ` を `out ` ストリームに書き込みます。
この関数は Qt 6.12 で導入されました。
「Qt データ型のシリアライズ」も参照してください 。
QDebug operator<<(QDebug debug, const QHttpHeaders &headers)
headers をdebug のストリームに書き込みます。
[since 6.12] QDataStream &operator>>(QDataStream &in, QHttpHeaders &headers)
ストリーム `in ` からヘッダーを読み取り、`headers` に格納します。
この関数は Qt 6.12 で導入されました。
「Qt データ型のシリアライズ」も参照してください 。
© 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.