fuchsia.net.http

添加数量:7

协议

Loader

fuchsia.net.http/client.fidl 中定义

HTTP 和 HTTPS 加载器。

该加载器可以同时处理多个 HTTP 或 HTTPS 请求。该加载器会跟踪所有未完成的请求,如果客户端关闭加载器接口,则会取消所有请求。

Fetch

启动给定的 HTTP 或 HTTPS 请求,跟踪重定向,并返回最终响应。

加载器将跟踪重定向(不超过实现定义的限制),并返回最终响应作为对此消息的回复。如需取消请求,请关闭加载器接口,或关闭 request 中包含的 event 的对等方。

请求

名称类型
request Request

回复

名称类型
response Response

开始

发起指定的 HTTP 或 HTTPS 请求,并将所有中间响应返回到给定客户端。

Fetch 不同,Start 不会自动跟踪所有重定向。相反,重定向链中的每个响应都会传递到 LoaderClient

请求

名称类型
request Request
client LoaderClient

LoaderClient

fuchsia.net.http/client.fidl 中定义

Loader.Start 搭配使用的客户端接口。

关闭底层通道将取消关联的 HTTP 事务。

OnResponse

当收到 HTTP 响应时,由加载器调用。

如果服务器请求了重定向,则 response 表中的 redirect 将描述服务器请求的目标。如需跟踪重定向,请回复本邮件。如果不遵循重定向,请关闭底层渠道。

请求

名称类型
response Response

回复

<空>

结构

fuchsia.net.http/client.fidl 中定义

HTTP 标头字段。

字段类型说明默认
name HeaderName

标头字段的名称。

无默认值
value HeaderValue

标头字段的值。

无默认值

枚举

错误严格

类型:uint32

fuchsia.net.http/client.fidl 中定义

HTTP 事务期间发生错误。

名称说明
1

发生了一些其他问题,无法使用其中一个更具体的状态进行分类。重试是可选操作。

2

HTTP 解析错误。

3

表示通道(客户端或正文发送者)已关闭。

4

连接时出错。

5

请求中指定的期限已过

表格

RedirectTarget

fuchsia.net.http/client.fidl 中定义

对服务器请求的重定向的说明。

HTTP 重定向的语义因用于生成重定向的状态代码而异。此结构可确保加载器及其客户端对来自服务器的重定向响应的解读一致。

序数字段类型说明
method Method

服务器为重定向建议的 HTTP 方法。

url fuchsia.url/Url

服务器为重定向建议的网址。

referrer fuchsia.url/Url

服务器为重定向建议的引荐来源网址。

请求资源

fuchsia.net.http/client.fidl 中定义

HTTP 请求。

序数字段类型说明
method Method

HTTP 方法(如果适用)。

默认为“GET”。

url fuchsia.url/Url

要加载的网址。

必选。

headers vector<Header>

其他 HTTP 请求标头。

body Body

请求正文的载荷。对于 HTTP 请求,方法必须设置为“POST”或“PUT”。如果正文使用缓冲区,系统会自动添加 Content-Length 标头。

deadline zx/Time

确定何时放弃等待服务器响应。如果未提供截止时间,则实现将提供一个合理的默认值。

响应资源

fuchsia.net.http/client.fidl 中定义

对 HTTP 请求的响应。

序数字段类型说明
error Error

如果响应导致了网络级错误,则将设置此字段。

body handle<socket>

响应正文。

final_url fuchsia.url/Url

跟踪重定向后的响应的最终到达网址。

status_code uint32

HTTP 状态代码。

status_line vector<uint8>

HTTP 状态行。

headers vector<Header>

HTTP 响应标头。

redirect RedirectTarget

对服务器请求的重定向的说明(如果有)。

联合

正文严格 资源

fuchsia.net.http/client.fidl 中定义

HTTP 请求的正文。

序数变体类型说明
buffer fuchsia.mem/Buffer

一个包含完整请求或响应正文的缓冲区。

stream handle<socket>

将包含流式传输请求或响应正文的套接字。

别名

名称说明
标头名称 vector[fidl/MAX]

包含标头名称的字节矢量的易记别名。

标头值 vector[fidl/MAX]

包含标头值的字节矢量的易记别名。

方法 string[1024]