Enum HttpVersion
HTTP 协议版本。数值与 curl 的 CURL_HTTP_VERSION_* 定义一致。
既用于请求偏好配置(PreferredVersion),
也用于响应中报告实际使用的版本(Version)。
public enum HttpVersion
Fields
Default = 0默认:让 libcurl 自己决定(通常协商出可用的最高版本)。
Http10 = 1HTTP/1.0。
Http11 = 2HTTP/1.1。
Http2 = 3HTTP/2。
Http3 = 30HTTP/3 over QUIC。作为请求偏好时若 server 不支持会降级到 HTTP/2/1.1; 响应结果里表示实际协商的就是 H3。
Http3Only = 31强制 HTTP/3:不允许降级,server 不支持 H3 即请求失败。 调试或特定场景使用,生产一般用 PreferH3。
PreferH3 = 30"偏好 H3":请求时等价于 Http3,但语义上强调"允许降级"(与 Http3Only 对比)。与 Http3 数值相同,便于复用。
Remarks
语义略有歧义:作为请求偏好时表示"希望使用此版本"(如 PreferH3
允许自动降级);作为响应结果时表示"实际协议"(不含偏好语义)。后续版本计划
拆分为 HttpVersionPolicy 和 HttpVersion 两个独立类型。